/* Neutralize WordPress defaults while retaining the approved static composition. */
body.gea-wordpress .wp-site-blocks { padding: 0; }
.wp-site-blocks > *, .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.wp-block-template-part { margin: 0; }
/* Let the header stick against the page rather than its short template wrapper. */
.wp-block-template-part:has(> .site-header) { display: contents; }
.wp-block-post-content { margin: 0; }
.wp-block-group { box-sizing: border-box; }
figure.wp-block-image { margin: 0; }
.wp-block-image img { vertical-align: middle; }
.wp-block-buttons.gea-buttons { display: block; }
.wp-block-button.gea-button { display: block; width: min(384px, calc(384 * var(--u))); max-width: 100%; }
.gea-button .wp-block-button__link { border-radius: 0; font-family: var(--serif); font-style: italic; box-sizing: border-box; }
.dark-surface .gea-button .button { color: #1b1d1d; }
.home-intro > .gea-buttons, .event-types > .gea-buttons { margin-inline: auto; width: fit-content; max-width: 100%; }
.home-intro > .gea-buttons .button, .event-types > .gea-buttons .button { width: min(384px, calc(384 * var(--u))); }
.home-intro > .gea-buttons .gea-button, .event-types > .gea-buttons .gea-button { margin: 0; }
.service-card__copy > .gea-buttons { max-width: 100%; width: 100%; }
.service-card .gea-button { width: 100%; }
.service-card .gea-button .button { width: min(100%, calc(384 * var(--u))); }
.service-card--reverse .gea-buttons { align-self: flex-end; }
.service-card--reverse .gea-button { margin-left: auto; }
.service-card__image.wp-block-image a { display: block; width: 100%; height: 100%; }
.about__media { width: 100%; height: 100%; }
.about__media img { width: 100%; height: 100%; }
.benefit__icon .wp-block-image { width: 62%; height: 62%; }
.benefit__icon .wp-block-image img { width: 100%; height: 100%; }
.benefit--organisation .benefit__icon .wp-block-image { width: 95%; height: 95%; }
.benefit--business .benefit__icon .wp-block-image { width: 56%; height: 72%; }
.benefit--peace .benefit__icon .wp-block-image { width: 60%; height: 60%; }
.client-logos__list .wp-block-image { width: 100%; }
.client-logos__list li { min-width: 0; }
.hero__poster-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__poster-media img { width: 100%; height: 100%; object-fit: cover; }
.hero__video-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__video-media video { width: 100%; height: 100%; object-fit: cover; }
.inquiry__brand .wp-block-image { width: 100%; }
.gea-wordpress .comparison .wp-block-table { margin: 0; }
.gea-wordpress .comparison .wp-block-table table { border: 0; }
.gea-wordpress .comparison .wp-block-table th, .gea-wordpress .comparison .wp-block-table td { border: 0; }
@media (max-width: 767px) {
  .home-intro > .gea-buttons .button, .event-types > .gea-buttons .button { width: auto; }
  .service-card .gea-button .button { width: auto; min-width: min(240px, 100%); }
  .service-card--reverse .gea-buttons { align-self: flex-start; }
  .service-card--reverse .gea-button { margin-left: 0; }
  .about__media { height: auto; aspect-ratio: 16 / 10; }
}
@media (min-width: 783px) { body.admin-bar .site-header { top: 32px; } }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; --mobile-header-offset: 46px; } }

.service-page .event-types { --navy: #041f2b; }
@media (min-width: 768px) {
  .gea-wordpress.home .wp-block-post-content > .home-process { margin-top: calc(95 * var(--u)); margin-bottom: calc(90 * var(--u)); }
}
/* Restore intentional outer spacing overridden by post-content block defaults. */
.gea-wordpress .wp-block-post-content > .home-process { margin-block: calc(85 * var(--u)); }
.gea-wordpress .wp-block-post-content > .about { margin-top: calc(10 * var(--u)); }
@media (max-width: 767px) {
  .gea-wordpress .wp-block-post-content > .home-process { margin-block: 48px; }
  .gea-wordpress .wp-block-post-content > .about { margin-top: 0; }
  .wp-block-button.gea-button { width: auto; }
  .home-intro > .gea-buttons, .event-types > .gea-buttons { width: min(240px, 100%); }
  figure.wp-block-image.service-intro__image { margin: 28px 20px 24px; }
}
.gea-wordpress .comparison .wp-block-table th, .gea-wordpress .comparison .wp-block-table td { word-break: normal; }

/* Keep CF7's wrappers and feedback within the existing inquiry composition. */
.inquiry-form.wpcf7-form { position: relative; }
.inquiry-form .wpcf7-form-control-wrap { display: block; }
.inquiry-form .wpcf7-not-valid-tip { color: #fff; font-size: 15px; line-height: 1.4; text-align: left; margin-top: 6px; }
.inquiry-form input.wpcf7-not-valid { border: 2px solid #ffb900; }
.inquiry-form.wpcf7-form .wpcf7-response-output { margin: 20px 0 0; padding: 12px 16px; background: #fff; color: #17212a; font-size: 16px; line-height: 1.5; }
.inquiry-form.wpcf7-form .wpcf7-spinner { position: absolute; left: 50%; bottom: -32px; margin: 0 0 0 -12px; }
.inquiry-form .wpcf7-submit:disabled { cursor: wait; opacity: .7; }

/* Keep the approved three-step layout; other item counts use a regular grid. */
@media (min-width: 768px) {
  .home-process__steps:not(:has(> li:nth-child(3))),
  .home-process__steps:has(> li:nth-child(4)) { gap: calc(65 * var(--u)); }
  .home-process__steps:not(:has(> li:nth-child(3))) > li,
  .home-process__steps:has(> li:nth-child(4)) > li { grid-column: auto; grid-row: auto; width: 100%; padding-top: 0; align-self: start; }
}
.home-process__steps h3 { max-width: 100%; height: auto; min-height: calc(47 * var(--u)); white-space: normal; }
.social-links { flex-wrap: wrap; }
.event-types__list:not(:has(> .event-type:nth-child(3))) { min-height: 0; }
.event-types__list:not(:has(> .event-type)) { padding-block: 0; }
