/* ============================================================================================
   Site fixes (production port of the 2026-09-27 staging review's no-review fixes; see
   staging-review/cleanup-plan.md, Phase 2). Spacing, alignment and accessibility corrections
   that don't change the design. The design changes (header, cards, buttons, typography) stay on
   staging until the client approves them.

   Production still has the overlay site header: the first block on a page carries its own top
   spacing to clear it. So every block rule here skips the page's first block
   (:not(:nth-child(1 of :not(style, script, link)))), and nothing touches <main>'s top margin.
   ============================================================================================ */

/* ----- Contrast (WCAG AA) ------------------------------------------------------------------ */
/* Desktop dropdown panels and blue buttons: #006FE6 carries white 16px text at 4.75:1
   (#0075F2 was 4.35:1). */
#site-navigation ul.sub-menu,
#site-navigation ul.sub-menu > li {
  background-color: #006FE6;
}
.wp-block-button__link.has-blue-background-color {
  background-color: #006FE6;
}
/* Current menu item on dark headers: light blue reads at 5.9:1 on the navy (the theme's cobalt
   was 2.5:1). Light headers don't colour the current item, so nothing changes there. */
.site-header.light-text #site-navigation .current-menu-item > a,
.site-header.light-text #site-navigation .current_page_item > a {
  color: #8CC3FF;
}
/* Footer contact box: the gradient ends on a deeper orange so the white text stays at 4.58:1 or
   better (the brand orange end was 3.25:1). */
.site-footer .site-footer__info-box {
  background: linear-gradient(#DD2476 0%, #C8481F 100%);
}

/* ----- Diamond-tipped dividers ------------------------------------------------------------- */
/* The coloured variants use the full 229px artwork, but the box was 85px wide, so the line and
   diamonds were squeezed to a sliver. The "-sm" variants keep 85px. */
:is(.separator-cello, .separator-white-linen, .separator-bizarre, .separator-mariner, .separator-big-stone, .separator-white, .separator-black, .separator-razzmatazz, .separator-tart-orange, .separator-green-verve):is(.title-with-divider, .title-with-divider--top)::after {
  width: 229px;
  max-width: 100%;
}

/* ----- Section rhythm ---------------------------------------------------------------------- */
/* Every full-width section opens and closes with 5rem (3.5rem on phones) between its edge and its
   content; the audit found 130-277px from padding stacked with heading and paragraph margins.
   Every rule here goes through "not the page's first block" (the first block keeps the spacing
   that clears the overlay header). */
:is(.entry-content > section.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.alignfull) :is(h1, h2, h3):first-child,
:is(.entry-content > .alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .alignfull) :is(.cards__header, .tabs-block__tabs-nav, .video-section__wrapper, .featured-content__content) > :is(h1, h2, h3):first-child {
  margin-top: 0;
}
:is(.entry-content > .alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .alignfull) :is(p, ul, ol):last-child {
  margin-bottom: 0;
}
:is(.entry-content > .wp-block-cover:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .wp-block-cover) .wp-block-cover__inner-container > .wp-block-spacer {
  display: none;
}
:is(.entry-content > .testimonial:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .testimonial) .testimonial__quote > :last-child {
  margin-bottom: 0;
}
:is(.entry-content > section.panels-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.panels-block) .panels-block__title,
:is(.entry-content > section.cards__wrapper:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.cards__wrapper) .cards__title,
:is(.entry-content > section.featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.featured-content) h2,
:is(.entry-content > .video-section:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .video-section) .video-section__wrapper h2 {
  margin-top: 0;
}
:is(.entry-content > section.cards__wrapper:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.cards__wrapper) .cards__header {
  padding-top: 0;
}
:is(.entry-content > .wp-block-cover.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .wp-block-cover.alignfull),
:is(.entry-content > section.panels-block.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.panels-block.alignfull),
:is(.entry-content > section.featured-content.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.featured-content.alignfull),
:is(.entry-content > .tabs-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .tabs-block) :is(.tabs-block__tabs-nav, .tabs-block__tabs-content),
:is(.entry-content > .video-section:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .video-section) .video-section__wrapper {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
:is(.entry-content > section.cards__wrapper.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.cards__wrapper.alignfull) {
  padding-top: calc(5rem - 30px); /* the cards keep their 30px top and bottom margins */
  padding-bottom: calc(5rem - 30px);
}
:is(.entry-content > section.team-cards.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.team-cards.alignfull) {
  padding-top: 3rem;
  padding-bottom: calc(5rem - 60px);
}

/* ----- Picture-and-text sections: picture and text as one unit ------------------------------ */
/* Media & text: even padding (was 76px top, 123px bottom), the text column from the container edge
   on its side instead of 30-130px in, text centred on the picture. */
@media screen and (min-width: 768px) {
  :is(.entry-content > .media-text:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .media-text) {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  :is(.entry-content > .media-text:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .media-text) .row {
    align-items: center;
  }
  :is(.entry-content > .media-text.square:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .media-text.square) .media-text__content {
    padding-left: 4rem;
    padding-right: 0;
  }
  :is(.entry-content > .media-text.square.content-reverse:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .media-text.square.content-reverse) .media-text__content {
    padding-left: 0;
    padding-right: 4rem;
  }
}

/* Featured content: text centred on the picture with a 4rem gap (was pinned to the picture's top
   with 130px of left padding). */
@media screen and (min-width: 768px) {
  :is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 4rem;
    align-items: center;
  }
  :is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) :is(.featured-content__image, .featured-content__content) {
    width: auto;
  }
  :is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__content {
    max-width: 36rem;
    padding: 0;
  }
}
:is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__content h3 {
  margin-left: 0;
}
:is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__content .date {
  margin-bottom: .75rem;
}
:is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__content h2 {
  margin: 0 0 1.25rem;
}
:is(.entry-content > .featured-content:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .featured-content) .featured-content__content .excerpt > :last-child {
  margin-bottom: 0;
}

/* Call to action: was a fixed 700px tall with title, text, button and picture floating apart.
   Now text and picture sit together as one centred pair with even 5rem padding. The block's own
   top/bottom padding fields stacked on top, so they're overridden here and hidden in the editor
   (inc/editor-fields.php). */
:is(.entry-content > section.cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.cta-block) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 34rem) auto;
  justify-content: center;
  align-items: center;
  gap: 3rem 5rem;
  min-height: 0;
  padding: 5rem 0;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__content {
  width: auto;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__content h2 {
  margin: 0 0 1.25rem;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__description {
  margin-bottom: 2rem;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__description > :last-child {
  margin-bottom: 0;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap {
  width: auto;
  margin: 0;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.one-image img {
  display: block;
  width: 100%;
  max-width: 28rem;
  height: auto;
  margin: 0;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.one-image.md img {
  max-width: 25rem;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.one-image.sm img {
  max-width: 18.75rem;
}
/* The two-picture layout with only one picture set: laid out like the one-picture version. */
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.two-images:has(> img:only-of-type) {
  padding-top: 0;
}
:is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.two-images > img:only-of-type {
  position: static;
  display: block;
  width: 100%;
  max-width: 28rem;
  height: auto;
  margin: 0;
  border: 0;
}

@media screen and (max-width: 767px) {
  :is(.entry-content > .wp-block-cover.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .wp-block-cover.alignfull),
  :is(.entry-content > section.panels-block.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.panels-block.alignfull),
  :is(.entry-content > section.featured-content.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.featured-content.alignfull),
  :is(.entry-content > .tabs-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .tabs-block) :is(.tabs-block__tabs-nav, .tabs-block__tabs-content),
  :is(.entry-content > .video-section:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .video-section) .video-section__wrapper,
  :is(.entry-content > .media-text:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .media-text) {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  :is(.entry-content > section.cards__wrapper.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.cards__wrapper.alignfull) {
    padding-top: calc(3.5rem - 30px);
    padding-bottom: calc(3.5rem - 30px);
  }
  :is(.entry-content > section.team-cards.alignfull:not(:nth-child(1 of :not(style, script, link))), .entry-content > * section.team-cards.alignfull) {
    padding-bottom: 1rem;
  }
  :is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__wrapper {
    grid-template-columns: minmax(0, 1fr);
    justify-content: stretch;
    padding: 3.5rem 0;
  }
  :is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap {
    order: -1;
  }
  :is(.entry-content > .cta-block:not(:nth-child(1 of :not(style, script, link))), .entry-content > * .cta-block) .cta-block__image-wrap.one-image img {
    max-width: 16rem;
  }
}

/* ----- Page flow --------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------------
   Page flow (from the staging layout pass, 2026-09-27). How ordinary page content (headings, paragraphs, lists)
   sits between the full-width section blocks.

   - One centred 52.5rem reading column, shared by plain text and the list block, so text and
     the numbered principles line up with each other. (A left-aligned column left the right
     half of wide screens empty.)
   - One gap before and after a full-width section: 5rem (3.5rem on phones). Spacer blocks that
     editors put next to sections to fake that gap are hidden so it isn't doubled; spacers
     between text blocks still work.
   ----------------------------------------------------------------------------------------- */
.page .entry-content > :is(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote, .wp-block-quote, .wp-block-list, .wp-block-buttons, .wp-block-embed, .wp-block-table, .gform_wrapper, figure.wp-block-image:not(.alignfull):not(.alignwide):not(.aligncenter)) {
  max-width: 52.5rem;
  margin-left: auto;
  margin-right: auto;
}
.entry-content > p:empty {
  display: none;
}
/* Spacer blocks next to a full-width section, a panel with its own background or the section
   menu are hidden: the section spacing rules below already put one gap there, and a hand-placed
   spacer doubled it. Style tags, empty paragraphs and other spacers in between (up to seven) are
   skipped, and after a section so are empty (or empty nested) Columns blocks (:has() can't nest
   in the :has() of the "before a section" rules). Spacers between ordinary text blocks still
   show, so editors keep that control. Spacers at the very start or end of the content are hidden
   too. Kept as separate rules so one unsupported selector can't void the others. */
.page .entry-content > .wp-block-spacer:has(+ :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)),
.page .entry-content > .wp-block-spacer:has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(.alignfull, .has-background, .sticky-gap)) {
  display: none;
}
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer,
.page .entry-content > :is(.alignfull, .has-background, .sticky-gap) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + :is(style, script, .wp-block-spacer, p:empty, .wp-block-columns:not(:has(:not(.wp-block-columns, .wp-block-column)))) + .wp-block-spacer {
  display: none;
}
.page .entry-content > .wp-block-spacer:not(:not(style, script, .wp-block-spacer, p:empty) ~ .wp-block-spacer) {
  display: none;
}
.page .entry-content > .wp-block-spacer:not(:has(~ :not(style, script, .wp-block-spacer, p:empty))) {
  display: none;
}
/* One gap between a coloured full-width section and page text, either way round. Sections
   without a background (card lists, pillars) already open and close with 5rem of their own
   padding, so they get no extra margin (that doubled the gap). Style tags that some blocks print
   before themselves (up to eight in a row), spacer blocks and empty paragraphs are skipped when
   deciding what is next to what. Sibling margins collapse. */
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
.entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)) {
  margin-bottom: 5rem;
}
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)) {
  margin-bottom: 5rem;
}
/* A panel with its own background inside the page text (e.g. About's "What We Offer"): same
   room around it and inside it as a full-width section. */
.entry-content > .has-background:not(.alignfull) {
  margin-top: 5rem;
  margin-bottom: 5rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
/* ...except before a section without a background (About's Board / Leadership / Staff cards),
   which brings its own 5rem: no margin on top of it. */
.entry-content > .has-background:not(.alignfull):has(+ .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
.entry-content > .has-background:not(.alignfull):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:not([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)) {
  margin-bottom: 0;
}
/* Page text that ends the page keeps the same gap above the footer. */
.page .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):not(:has(~ :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty))):not(:has(~ .alignfull)) {
  margin-bottom: 5rem;
}

/* List block ("Five Principles of True Diversity"): even padding, aligned to the container. */
.list-block.alignfull {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.list-block.alignfull .wp-block-group__inner-container {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}
.list-block.alignfull .wp-block-group__inner-container > * {
  max-width: 52.5rem;
  margin-left: auto;
  margin-right: auto;
}
.list-block .list-block__title {
  margin: 0 0 2rem;
}

@media screen and (max-width: 767px) {
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):has(+ :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + :is(style, script, .wp-block-spacer, p:empty) + .alignfull:is([class*="background-"]:not([class*="background-white"]):not([class*="background-transparent"]), .gradient-blue, .wp-block-cover, .has-background, .with-bg-img, .color-white)),
  .page .entry-content > :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty):not(:has(~ :not(.alignfull):not(style):not(script):not(.wp-block-spacer):not(.sticky-gap):not(p:empty))):not(:has(~ .alignfull)) {
    margin-bottom: 3.5rem;
  }
  .list-block.alignfull,
  .entry-content > .has-background:not(.alignfull) {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
  .entry-content > .has-background:not(.alignfull) {
    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
  }
}
