/*
Theme Name: Pilot Mercury Atlas
Author: Pilot Digital
Author URI: pilotdigital.com
Theme URI: 
Tags: full-site-editing
Text Domain: mercury-atlas
Requires at least: 6.5
Requires PHP: 8.0
Tested up to: 6.0
Version: 2.0.11

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

All files, unless otherwise stated, are released under the GNU General Public
License version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html)
*/

/*--------------------------------------------------------------
# Global
--------------------------------------------------------------*/

:root {

	/* ---- Neutral scale (parent defaults) ----
	   The child theme redeclares these on its own :root and wins when active;
	   kept here so the parent is self-sufficient standalone. Mirrors the child
	   neutral scale (no --neutral-400 step). */
	--neutral-100: #F2F3F4;
	--neutral-200: #DFE5EB;
	--neutral-300: #D6D7D8;
	--neutral-500: #7D7D7D;
	--neutral-600: #585959;
	--neutral-700: #767A7D;
	--neutral-800: #151619;
}


@media (prefers-reduced-motion: no-preference) {
    html {
      scroll-behavior: smooth;
    }
  }
  
 /* Typography
========================================================== 
most typogrophy should be managed in the theme.json and the editor
*/



  
  /* MORE SECTIONS
========================================================*/


span.info-icon{

	color: var(--wp--preset--color--primary-text-dark);

	cursor:pointer;
	height:20px;
	
	display: inline-block;
  	vertical-align:text-top;
}

div.info-modal{
	display:none;visibility:hidden;
	}
div.info-modal.open{
	display:block;visibility:visible;
	position:absolute;
	left:95%;
	background:#ffffff;
    box-shadow: 0 0px 14px 0 rgba(0, 0, 0, 0.30);
	height:fit-content;
	padding: .5rem 1rem;
	width:90%;
	z-index:2;
    line-height: 1.2;
}

@media screen and (max-width:768px) {
    div.info-modal.open{
        width: 50vw;
    }
}



/*--------------------------------------------------------------
# Button block styles (parent-owned)  [2026-07-27]
Registered in inc/pilot_mercury_atlas_block_styles.php:
  secondary · ma-outline · arrow-link · icon-arrow · icon-phone · icon-email
Core's default core/button "outline" is unregistered in the editor
(assets/js/mercury_atlas_unregister_core_styles.js) so ma-outline owns it.
On-dark overrides key off the container's has-{navy|black|navy-dark}-background-color.
Arrow/icon glyphs use currentColor (mask) so they follow the text color.
Default buttons have NO arrow — only arrow-link + icon-arrow carry the arrow.
--------------------------------------------------------------*/

/* ---- Default button + submit inputs — legacy coral-fill parity ----
 * theme.json already gives the BLOCK button its coral fill / white / square /
 * padding / 1rem. These add what theme.json can't express — the transition and
 * the hover press (translateY 1px) from the live site — and bring raw submit
 * inputs (which the button element style does NOT reach) to the same coral fill.
 * Also covers <button type="submit|reset"> — Gravity Forms renders a <button>
 * (not an <input>) on some installs, so both element forms must match.
 * Colours resolve from the child palette (coral #D24040 / coral-dark #CA2932,
 * identical to the legacy live site). */
input[type="submit"],
input[type="reset"],
input[type="button"],
button[type="submit"],
button[type="reset"] {
	-webkit-appearance: none;
	        appearance: none;
	background: var(--wp--preset--color--coral);
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--gilroy);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.75rem 1.25rem;
	text-align: center;
	text-decoration: none;
}
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover,
button[type="reset"]:hover {
	background: var(--wp--preset--color--vivid-red);
	color: var(--wp--preset--color--white);
}
/* transition + hover press on block buttons + submit/reset controls (matches legacy) */
.wp-block-button__link,
input[type="submit"],
input[type="reset"],
input[type="button"],
button[type="submit"],
button[type="reset"] {
	transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.wp-block-button__link:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button[type="submit"]:hover,
button[type="reset"]:hover {
	transform: translateY(1px);
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link:hover,
	input[type="submit"]:hover,
	input[type="reset"]:hover,
	input[type="button"]:hover,
	button[type="submit"]:hover,
	button[type="reset"]:hover { transform: none; }
}
/* active (press) — color-only darken, no extra movement (the 1px press stays on hover).
 * brightness() darkens whatever fill/text the current style shows, so one rule covers
 * every button style + submit/reset controls. */
.wp-block-button__link:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button[type="submit"]:active,
button[type="reset"]:active {
	filter: brightness(0.92);
}
/* focus-visible — consistent navy ring for keyboard users (white ring on dark bands).
 * Applies to every button style + submit/reset controls. */
.wp-block-button__link:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
input[type="button"]:focus-visible,
button[type="submit"]:focus-visible,
button[type="reset"]:focus-visible,
a.is-style-arrow-link:focus-visible {
	outline: 2px solid var(--wp--preset--color--navy);
	outline-offset: 2px;
}
.has-navy-background-color .wp-block-button__link:focus-visible,
.has-black-background-color .wp-block-button__link:focus-visible,
.has-navy-dark-background-color .wp-block-button__link:focus-visible,
.has-navy-background-color a.is-style-arrow-link:focus-visible,
.has-black-background-color a.is-style-arrow-link:focus-visible,
.has-navy-dark-background-color a.is-style-arrow-link:focus-visible {
	outline-color: var(--wp--preset--color--white);
}

/* ---- secondary ---- */
.wp-block-button.is-style-secondary > .wp-block-button__link {
	background-color: var(--wp--preset--color--vivid-cyan-blue, var(--wp--preset--color--navy));
	color: var(--wp--preset--color--white);
	border: 2px solid var(--wp--preset--color--vivid-cyan-blue);
	border-radius: 0;
	padding: 0.75rem 1.25rem;
	font-family: var(--wp--preset--font-family--gilroy);
	font-weight: 700;
	font-size: 1rem;
	line-height: 1;
}
.wp-block-button.is-style-secondary > .wp-block-button__link:hover {
	background-color: var(--color-navy-dark, #001B34);
	border-color: var(--wp--preset--color--vivid-cyan-blue);
	color: var(--wp--preset--color--white);
}
.has-navy-background-color .wp-block-button.is-style-secondary > .wp-block-button__link,
.has-black-background-color .wp-block-button.is-style-secondary > .wp-block-button__link,
.has-navy-dark-background-color .wp-block-button.is-style-secondary > .wp-block-button__link {
	border-color: var(--wp--preset--color--vivid-cyan-blue);
}
.has-navy-background-color .wp-block-button.is-style-secondary > .wp-block-button__link:hover,
.has-black-background-color .wp-block-button.is-style-secondary > .wp-block-button__link:hover,
.has-navy-dark-background-color .wp-block-button.is-style-secondary > .wp-block-button__link:hover {
	background-color: var(--color-blue-dark, #035C99);
	border-color: var(--wp--preset--color--vivid-cyan-blue);
	color: var(--wp--preset--color--white);
}

/* ---- ma-outline (replaces core "outline") ---- */
.wp-block-button.is-style-ma-outline > .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--preset--color--navy);
	border: 2px solid var(--wp--preset--color--navy);
	border-radius: 0;
	padding: 10px 24px;
	font-family: var(--wp--preset--font-family--gilroy);
	font-weight: 900;
	font-size: 1rem;
	line-height: 1;
}
.wp-block-button.is-style-ma-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}
.has-navy-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link,
.has-black-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link,
.has-navy-dark-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link {
	background-color: transparent;
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
}
.has-navy-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link:hover,
.has-black-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link:hover,
.has-navy-dark-background-color .wp-block-button.is-style-ma-outline > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

/* ---- arrow-link — no-fill text link; ALSO used as a class on an inline <a> ---- */
.wp-block-button.is-style-arrow-link > .wp-block-button__link,
a.is-style-arrow-link {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	padding: 0;
	min-width: 0;
	color: var(--wp--preset--color--vivid-cyan-blue, var(--wp--preset--color--navy));
	font-family: var(--wp--preset--font-family--gilroy);
	font-weight: 700;
	text-decoration: none;
	display: inline;
}
.wp-block-button.is-style-arrow-link > .wp-block-button__link:hover,
a.is-style-arrow-link:hover {
	color: var(--wp--preset--color--coral);
	text-decoration: none;
}
.has-navy-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link,
.has-black-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link,
.has-navy-dark-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link,
.has-navy-background-color a.is-style-arrow-link,
.has-black-background-color a.is-style-arrow-link,
.has-navy-dark-background-color a.is-style-arrow-link {
	color: var(--wp--preset--color--white);
}
.has-navy-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link:hover,
.has-black-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link:hover,
.has-navy-dark-background-color .wp-block-button.is-style-arrow-link > .wp-block-button__link:hover,
.has-navy-background-color a.is-style-arrow-link:hover,
.has-black-background-color a.is-style-arrow-link:hover,
.has-navy-dark-background-color a.is-style-arrow-link:hover {
	color: var(--wp--preset--color--yellow);
}

/* ---- On-dark TEXT — headings, body copy, lists, links, form labels ----
 * When a container carries a dark background class (navy / black / navy-dark),
 * switch its text to white. Body copy (p, li, span, dt, dd, cite, figcaption,
 * strong, em …) simply INHERITS the container colour, so an explicit
 * has-*-color on a block still wins. Headings + links carry an explicit
 * theme.json colour, so they need a class-level override — scoped with
 * :not([class*="-color"]) so a block that sets its own colour is left alone.
 * Buttons + arrow-links are handled by the rules above. */
/* Scoped to DIRECT children of the dark group, and skipping any nested
 * background-coloured container ([class*="background-color"]) so a nested
 * group with its own (e.g. light) background keeps its own text colour
 * instead of inheriting white. Text inside a plain (non-bg) direct child
 * still inherits white as before. */
.has-navy-background-color > :not([class*="background-color"]),
.has-black-background-color > :not([class*="background-color"]),
.has-navy-dark-background-color > :not([class*="background-color"]) {
	color: var(--wp--preset--color--white);
}
/* headings — direct children (unless the block sets its own colour) */
.has-navy-background-color > :is(h1,h2,h3,h4,h5,h6):not([class*="-color"]),
.has-black-background-color > :is(h1,h2,h3,h4,h5,h6):not([class*="-color"]),
.has-navy-dark-background-color > :is(h1,h2,h3,h4,h5,h6):not([class*="-color"]) {
	color: var(--wp--preset--color--white);
}
/* plain inline links inside direct, non-bg children (buttons + arrow-links handled above) */
.has-navy-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]),
.has-black-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]),
.has-navy-dark-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]) {
	color: var(--wp--preset--color--aqua-light);
	text-decoration: underline;
}
.has-navy-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]):hover,
.has-black-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]):hover,
.has-navy-dark-background-color > :not([class*="background-color"]) a:not(.wp-block-button__link):not(.is-style-arrow-link):not([class*="-color"]):hover {
	color: var(--wp--preset--color--white);
}
/* form labels (Gravity Forms + native) */
.has-navy-background-color .gfield_label,
.has-navy-background-color .gform_wrapper label,
.has-navy-background-color legend,
.has-navy-background-color label,
.has-black-background-color .gfield_label,
.has-black-background-color .gform_wrapper label,
.has-black-background-color legend,
.has-black-background-color label,
.has-navy-dark-background-color .gfield_label,
.has-navy-dark-background-color .gform_wrapper label,
.has-navy-dark-background-color legend,
.has-navy-dark-background-color label {
	color: var(--wp--preset--color--white);
}

/* ---- shared sliding → arrow: arrow-link (button + inline <a>) + icon-arrow ---- */
.wp-block-button.is-style-arrow-link > .wp-block-button__link::after,
.wp-block-button.is-style-icon-arrow > .wp-block-button__link::after,
a.is-style-arrow-link::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.35em;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s cubic-bezier(.645, .045, .355, 1);
}
.wp-block-button.is-style-arrow-link > .wp-block-button__link:hover::after,
.wp-block-button.is-style-icon-arrow > .wp-block-button__link:hover::after,
a.is-style-arrow-link:hover::after {
	transform: translateX(0.35em);
}

/* ---- arrow direction (advanced classes): `arrow-right` (default dir) + `arrow-left` ----
 * Right is already the default for the arrow styles above. These utility classes let an
 * editor add an arrow to any link — inline <a> (via the link's "Additional CSS class(es)")
 * or a button block (via Advanced ▸ Additional CSS class(es)) — and choose its side.
 *   arrow-right : trailing → (same glyph + slide as the styles)
 *   arrow-left  : leading ← (mirrored glyph, slides left); also cancels a style's right arrow.
 */
.wp-block-button.arrow-right > .wp-block-button__link::after,
a.arrow-right::after {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.35em;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform 0.3s cubic-bezier(.645, .045, .355, 1);
}
.wp-block-button.arrow-right > .wp-block-button__link:hover::after,
a.arrow-right:hover::after {
	transform: translateX(0.35em);
}
/* arrow-left cancels any right-side arrow coming from a style, then draws a leading one */
.wp-block-button.is-style-arrow-link.arrow-left > .wp-block-button__link::after,
.wp-block-button.is-style-icon-arrow.arrow-left > .wp-block-button__link::after,
a.is-style-arrow-link.arrow-left::after {
	content: none;
}
.wp-block-button.arrow-left > .wp-block-button__link::before,
a.arrow-left::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.35em;
	vertical-align: middle;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7-1.4-1.4 4.6-4.6H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") center / contain no-repeat;
	transform: scaleX(-1); /* mirror → points left */
	transition: transform 0.3s cubic-bezier(.645, .045, .355, 1);
}
/* scaleX(-1) is applied last, so a positive translateX reads as a leftward slide */
.wp-block-button.arrow-left > .wp-block-button__link:hover::before,
a.arrow-left:hover::before {
	transform: scaleX(-1) translateX(0.35em);
}

/* ---- icon-phone — phone glyph before the label, rings on hover ---- */
.wp-block-button.is-style-icon-phone > .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.4em;
	vertical-align: -0.12em;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/phone.svg") center / contain no-repeat;
	        mask: url("assets/icons/phone.svg") center / contain no-repeat;
	transform-origin: center;
}
@keyframes ma-phone-ring {
	0%, 100% { transform: rotate(0); }
	15% { transform: rotate(-12deg); }
	30% { transform: rotate(10deg); }
	45% { transform: rotate(-8deg); }
	60% { transform: rotate(6deg); }
	75% { transform: rotate(-4deg); }
}
.wp-block-button.is-style-icon-phone > .wp-block-button__link:hover::before {
	animation: ma-phone-ring 0.6s ease-in-out;
}

/* ---- icon-email — envelope before the label, bounces on hover ---- */
.wp-block-button.is-style-icon-email > .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.4em;
	vertical-align: -0.12em;
	background-color: currentColor;
	-webkit-mask: url("assets/icons/envelope-open.svg") center / contain no-repeat;
	        mask: url("assets/icons/envelope-open.svg") center / contain no-repeat;
}
@keyframes ma-email-bounce {
	0%, 100% { transform: translateY(0); }
	25% { transform: translateY(-0.35em); }
	50% { transform: translateY(0); }
	75% { transform: translateY(-0.15em); }
}
.wp-block-button.is-style-icon-email > .wp-block-button__link:hover::before {
	animation: ma-email-bounce 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-button.is-style-arrow-link > .wp-block-button__link::after,
	.wp-block-button.is-style-icon-arrow > .wp-block-button__link::after,
	a.is-style-arrow-link::after,
	.wp-block-button.arrow-right > .wp-block-button__link::after,
	a.arrow-right::after,
	.wp-block-button.arrow-left > .wp-block-button__link::before,
	a.arrow-left::before,
	.wp-block-button.is-style-icon-phone > .wp-block-button__link::before,
	.wp-block-button.is-style-icon-email > .wp-block-button__link::before {
		transition: none;
		animation: none;
	}
}
/* ---- end Button block styles ---- */


/* =====================================================================
# List block styles (parent-owned)  [2026-07-28]
=======================================================================
  core/list styles: checkmark · plus · shield · dont · no-bullet
  The four icon variants share a base (list-style:none; li gets a ::before
  SVG mask filled with currentColor, so the marker follows text color and
  can be recolored via a color class — e.g. .has-aqua-color — or an on-dark
  wrapper for automatic white). no-bullet just strips the marker + indent.
===================================================================== */
.wp-block-list.is-style-checkmark,
.wp-block-list.is-style-plus,
.wp-block-list.is-style-shield,
.wp-block-list.is-style-dont {
	list-style: none;
	padding-left: 0;
}
.wp-block-list.is-style-checkmark li,
.wp-block-list.is-style-plus li,
.wp-block-list.is-style-shield li,
.wp-block-list.is-style-dont li {
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.75rem;
	line-height: 1.6;
}
.wp-block-list.is-style-checkmark li::before,
.wp-block-list.is-style-plus li::before,
.wp-block-list.is-style-shield li::before,
.wp-block-list.is-style-dont li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	display: inline-block;
	background-color: currentColor;
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}
/* --- Checkmark --- */
.wp-block-list.is-style-checkmark li::before {
	width: 16px;
	height: 16px;
	-webkit-mask-image: url("assets/icons/check-circle.svg");
	        mask-image: url("assets/icons/check-circle.svg");
}
/* --- Plus --- */
.wp-block-list.is-style-plus li::before {
	width: 17px;
	height: 17px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 0C7.2207 0 6.18194 1.03876 6.18194 2.31806V6.18194H2.31806C1.03876 6.18194 0 7.2207 0 8.5C0 9.7793 1.03876 10.8181 2.31806 10.8181H6.18194V14.6819C6.18194 15.9612 7.2207 17 8.5 17C9.7793 17 10.8181 15.9612 10.8181 14.6819V10.8181H14.6819C15.9612 10.8181 17 9.7793 17 8.5C17 7.2207 15.9612 6.18194 14.6819 6.18194H10.8181V2.31806C10.8181 1.03876 9.7793 0 8.5 0Z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg width='17' height='17' viewBox='0 0 17 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.5 0C7.2207 0 6.18194 1.03876 6.18194 2.31806V6.18194H2.31806C1.03876 6.18194 0 7.2207 0 8.5C0 9.7793 1.03876 10.8181 2.31806 10.8181H6.18194V14.6819C6.18194 15.9612 7.2207 17 8.5 17C9.7793 17 10.8181 15.9612 10.8181 14.6819V10.8181H14.6819C15.9612 10.8181 17 9.7793 17 8.5C17 7.2207 15.9612 6.18194 14.6819 6.18194H10.8181V2.31806C10.8181 1.03876 9.7793 0 8.5 0Z'/%3E%3C/svg%3E");
}
/* --- Shield --- */
.wp-block-list.is-style-shield li::before {
	width: 14px;
	height: 16px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='14' height='16' viewBox='0 0 14 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1911 1.71653L14 1.67716V6.03249C14 10.3958 11.2935 14.3639 7.27173 15.897L7 16L6.72827 15.897C2.70709 14.3639 0 10.3954 0 6.03249V1.67656L0.808918 1.71593C2.3333 1.78714 3.79557 1.53414 5.15706 0.980695C5.65494 0.775178 6.13688 0.530282 6.59545 0.245459L6.9999 0L7.40435 0.245459C7.86292 0.530297 8.34542 0.775178 8.84274 0.980695C10.2042 1.53416 11.6659 1.78714 13.1909 1.71593L13.1911 1.71653Z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg width='14' height='16' viewBox='0 0 14 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.1911 1.71653L14 1.67716V6.03249C14 10.3958 11.2935 14.3639 7.27173 15.897L7 16L6.72827 15.897C2.70709 14.3639 0 10.3954 0 6.03249V1.67656L0.808918 1.71593C2.3333 1.78714 3.79557 1.53414 5.15706 0.980695C5.65494 0.775178 6.13688 0.530282 6.59545 0.245459L6.9999 0L7.40435 0.245459C7.86292 0.530297 8.34542 0.775178 8.84274 0.980695C10.2042 1.53416 11.6659 1.78714 13.1909 1.71593L13.1911 1.71653Z'/%3E%3C/svg%3E");
}
/* --- Don't --- */
.wp-block-list.is-style-dont li::before {
	width: 19px;
	height: 19px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.933 8.38318C18.3347 3.17832 13.588 -0.551361 8.38318 0.0670334C3.17832 0.685428 -0.551361 5.41196 0.0670334 10.6168C0.685428 15.8217 5.41196 19.5514 10.6168 18.933C15.8217 18.3146 19.5514 13.588 18.933 8.38318ZM1.70237 10.4172C1.20392 6.12945 4.29514 2.22105 8.58277 1.72185C10.4177 1.50276 12.1925 1.94094 13.6483 2.85875L3.99568 15.0841C2.75897 13.8674 1.92159 12.2522 1.70237 10.4172ZM10.4172 17.2782C8.56283 17.4972 6.76732 17.039 5.29199 16.1017L14.9641 3.85627C16.2203 5.0729 17.0778 6.7083 17.2976 8.5627C17.7961 12.8704 14.7049 16.7789 10.4172 17.2782Z'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg width='19' height='19' viewBox='0 0 19 19' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.933 8.38318C18.3347 3.17832 13.588 -0.551361 8.38318 0.0670334C3.17832 0.685428 -0.551361 5.41196 0.0670334 10.6168C0.685428 15.8217 5.41196 19.5514 10.6168 18.933C15.8217 18.3146 19.5514 13.588 18.933 8.38318ZM1.70237 10.4172C1.20392 6.12945 4.29514 2.22105 8.58277 1.72185C10.4177 1.50276 12.1925 1.94094 13.6483 2.85875L3.99568 15.0841C2.75897 13.8674 1.92159 12.2522 1.70237 10.4172ZM10.4172 17.2782C8.56283 17.4972 6.76732 17.039 5.29199 16.1017L14.9641 3.85627C16.2203 5.0729 17.0778 6.7083 17.2976 8.5627C17.7961 12.8704 14.7049 16.7789 10.4172 17.2782Z'/%3E%3C/svg%3E");
}
/* --- No Bullet: strip marker + indent so the list sits flush with body copy --- */
.wp-block-list.is-style-no-bullet {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}
.wp-block-list.is-style-no-bullet > li {
	padding-left: 0;
}
/* ---- end List block styles ---- */


/* =====================================================================
# Heading block styles (parent-owned)  [2026-07-28]
=======================================================================
  core/heading styles: redline · plus · with-line
  redline  = coral-light ::after accent bar under the text
  plus     = ::before "+" SVG mask (currentColor), baseline-aligned
  with-line= flex heading + a 1px currentColor rule filling to the right edge
===================================================================== */
/* --- Redline: coral-light accent bar below the heading --- */
.wp-block-heading.is-style-redline {
	position: relative;
	padding-bottom: 0.5rem;
}
.wp-block-heading.is-style-redline::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: 0.75rem;
	background-color: var(--wp--preset--color--coral-light, var(--color-coral-light, #FFC9C9));
}
/* --- Plus: SVG "+" before the text, inherits heading color --- */
.wp-block-heading.is-style-plus {
	display: flex;
	align-items: baseline;
	gap: 0.5em;
}
.wp-block-heading.is-style-plus::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	flex: 0 0 0.6em;
	background-color: currentColor;
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M7 1h2v6h6v2H9v6H7V9H1V7h6z'/></svg>");
	        mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M7 1h2v6h6v2H9v6H7V9H1V7h6z'/></svg>");
	-webkit-mask-size: contain;
	        mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-position: center;
	        mask-position: center;
}
/* --- With Line: 1px currentColor rule from the text to the right edge --- */
.wp-block-heading.is-style-with-line {
	display: flex;
	align-items: center;
	gap: 1em;
}
.wp-block-heading.is-style-with-line::after {
	content: "";
	flex: 1;
	height: 1px;
	background: currentColor;
}
/* ---- end Heading block styles ---- */


/* =====================================================================
# Layout utility block styles (parent-owned)  [2026-07-28]
=======================================================================
  has-aligned-last-item (core/columns + core/group): each cell becomes a
  flex column and its last child is pushed to the bottom (margin-top:auto),
  so trailing CTAs/buttons align across a row regardless of copy length.
  A padding-top keeps a minimum gap above the aligned item. Composes with
  a flush-bordered grid. (Adopted from jpg.)
===================================================================== */
.wp-block-columns.is-style-has-aligned-last-item > .wp-block-column {
	display: flex;
	flex-direction: column;
}
.wp-block-columns.is-style-has-aligned-last-item > .wp-block-column > *:last-child {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--50);
}
/* Group variant — same idea on a parent group's direct children (grid/flex
   cells). `> *` keeps it generic (groups, columns, anything with a stack). */
.wp-block-group.is-style-has-aligned-last-item > * {
	display: flex;
	flex-direction: column;
}
.wp-block-group.is-style-has-aligned-last-item > * > *:last-child {
	margin-top: auto;
	padding-top: var(--wp--preset--spacing--50);
}
/* ---- end Layout utility block styles ---- */


/* =====================================================================
# Image block styles (parent-owned)  [2026-07-28]
=======================================================================
  invert             = filter:invert(1) on the <img> (line-art / logos)
  caption-over-image = pins the <figcaption> as a dark translucent band
                       at the bottom of the image
  (Adopted from jpg.)
===================================================================== */
.wp-block-image.is-style-invert > img {
	filter: invert(1);
}
.wp-block-image.is-style-caption-over-image {
	position: relative;
}
.wp-block-image.is-style-caption-over-image > figcaption {
	position: absolute;
	bottom: 0;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 1.5em;
	padding-right: 1.5em;
	line-height: 3em;
}
/* ---- end Image block styles ---- */


/* =====================================================================
# Paragraph block styles (parent-owned)  [2026-07-28]
=======================================================================
  like-h1 / like-h2 / like-h3: make a paragraph READ as a heading without
  the heading semantics (page outline / SEO stay intact). These parent
  rules mirror the PARENT's heading element typography (sanchez + the
  parent font-size presets). Each CHILD overrides font-family + metrics
  in its own style.css to match ITS headings (e.g. pilot-fse-2026 = Gilroy).
===================================================================== */
p.is-style-like-h1,
p.is-style-like-h2,
p.is-style-like-h3 {
	font-family: var(--wp--preset--font-family--sanchez);
	margin-top: 0;
}
p.is-style-like-h1 { font-size: var(--wp--preset--font-size--gigantic); }
p.is-style-like-h2 { font-size: var(--wp--preset--font-size--large); }
p.is-style-like-h3 { font-size: var(--wp--preset--font-size--normal); }


/* =====================================================================
# Details block styles (parent-owned)  [2026-07-28]
=======================================================================
  compact-drawer: a slim accordion row — uppercase summary, a coral +/−
  indicator pinned right, thin rules top + bottom; adjacent drawers share
  a single rule (no doubled border). Adapted from jpg (Gotham/gold →
  Gilroy/coral/navy, our tokens with fallbacks).
===================================================================== */
.wp-block-details.is-style-compact-drawer {
	border-top: 1px solid var(--wp--preset--color--grey, rgba(0, 0, 0, 0.15));
	border-bottom: 1px solid var(--wp--preset--color--grey, rgba(0, 0, 0, 0.15));
	padding: 1.5em 0;
	margin: 0;
	list-style: none;
}
.wp-block-details.is-style-compact-drawer + .wp-block-details.is-style-compact-drawer {
	border-top: 0;
	margin-top: 0;
}
.wp-block-details.is-style-compact-drawer > summary {
	list-style: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--gilroy, sans-serif);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy);
	padding: 0 2em 0 0;
	position: relative;
	outline: none;
}
.wp-block-details.is-style-compact-drawer > summary::-webkit-details-marker,
.wp-block-details.is-style-compact-drawer > summary::marker {
	display: none;
	content: "";
}
.wp-block-details.is-style-compact-drawer > summary::after {
	content: "+";
	position: absolute;
	right: 0.25em;
	top: 50%;
	transform: translateY(-50%);
	font-weight: 400;
	font-size: 1.75em;
	line-height: 1;
	color: var(--wp--preset--color--coral, currentColor);
	transition: transform 0.2s ease;
}
.wp-block-details.is-style-compact-drawer[open] > summary::after {
	content: "\2212"; /* − */
}
.wp-block-details.is-style-compact-drawer > *:not(summary) {
	margin-top: 1em;
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-details.is-style-compact-drawer > summary::after { transition: none; }
}
/* ---- end Details block styles ---- */


/*--------------------------------------------------------------
# Site header — logo sizing

The Site Logo block (wp:site-logo {"width":N}) only emits a width
when the logo image has intrinsic dimensions. Brand SVG logos often
ship with a viewBox but NO width/height, so WordPress drops the
width and the image collapses (height:auto with no width = 0).

Force a width here; the SVG's viewBox supplies the aspect ratio, so
height follows automatically. Adjust this one value to resize the
header logo. (A more thorough alternative is to add width/height
attributes to the SVG file itself so the block's width control works
natively in the editor.)
--------------------------------------------------------------*/
.wp-block-site-logo img.custom-logo {
	width: 125px;
	height: auto;
}


/*--------------------------------------------------------------
# Header/footer-to-content seams (adopted from jpg-ma-child)

When the page's LAST top-level section carries its own background
(a preset bg color, cover block, or any explicit background), drop
the global blockGap that WP renders as margin-block-start on the
footer — otherwise a stray light strip shows between that section's
bottom edge and the footer.

The mirror rule zeroes <main>'s margin-block-start when the FIRST
content section has a background, so a hero/cover sits flush under
the header (our hero-first-child pattern).

Uses :has() — Chrome 105+ / Safari 15.4+ / Firefox 121+. Three tiers
cover the template shapes: article>section, main>section, and
post-content/.entry-content > section.
--------------------------------------------------------------*/
/* Footer seam — last content child has a background.
   The <main> and <article> tiers use ONLY the direct-class form
   (:last-child.has-background / .wp-block-cover): in the page template
   <article>'s (and <main>'s) last child is the post-content WRAPPER, which
   spans the whole page, so a descendant combinator there ( :last-child .has-background )
   would match ANY background block anywhere on the page and wrongly collapse the
   gap (e.g. the All-Blocks reference page). The descendant check is kept only on the
   .entry-content / .wp-block-post-content tiers, where :last-child is the actual
   last SECTION, so it correctly detects a nested bg band that reaches the bottom edge. */
.wp-site-blocks:has(> main > article > :last-child.has-background, > main > article > :last-child.wp-block-cover) > footer,
.wp-site-blocks:has(> main > :last-child.has-background, > main > :last-child.wp-block-cover) > footer,
.wp-site-blocks:has(> main article .entry-content > :last-child.has-background, > main article .entry-content > :last-child.wp-block-cover, > main article .entry-content > :last-child .has-background, > main article .entry-content > :last-child .wp-block-cover) > footer,
.wp-site-blocks:has(> main article > .wp-block-post-content > :last-child.has-background, > main article > .wp-block-post-content > :last-child.wp-block-cover, > main article > .wp-block-post-content > :last-child .has-background, > main article > .wp-block-post-content > :last-child .wp-block-cover) > footer {
	margin-block-start: 0;
}

/* Footer seam (block styles) — the section-cta / swoosh bands paint their
   background in CSS (not a has-background class), so the tiers above miss them.
   Catch them by their block-style class at the same last-child positions.
   :is() inside :has() is valid (unlike nested :has()). */
.wp-site-blocks:has(> main > :last-child:is(.is-style-section-cta, .is-style-swoosh-bg, .is-style-swoosh-bg-down)) > footer,
.wp-site-blocks:has(> main > article > :last-child:is(.is-style-section-cta, .is-style-swoosh-bg, .is-style-swoosh-bg-down)) > footer,
.wp-site-blocks:has(> main article > .wp-block-post-content > :last-child:is(.is-style-section-cta, .is-style-swoosh-bg, .is-style-swoosh-bg-down)) > footer {
	margin-block-start: 0;
}

/* Header seam (mirror) — first content child has a background */
.wp-site-blocks:has(> main > article > :first-child.has-background) > main,
.wp-site-blocks:has(> main > article > :first-child.wp-block-cover) > main,
.wp-site-blocks:has(> main > :first-child.has-background) > main,
.wp-site-blocks:has(> main > :first-child.wp-block-cover) > main,
.wp-site-blocks:has(> main article .entry-content > :first-child.has-background) > main,
.wp-site-blocks:has(> main article .entry-content > :first-child.wp-block-cover) > main,
.wp-site-blocks:has(> main article > .wp-block-post-content > :first-child.has-background) > main,
.wp-site-blocks:has(> main article > .wp-block-post-content > :first-child.wp-block-cover) > main {
	margin-block-start: 0;
}

/* ---- Adjacent-section seam ----
 * A top-level content section loses its block-gap top margin when the
 * immediately-preceding section carries its own background (a preset bg
 * colour or a cover), so stacked colored / full-width bands butt together
 * with no page-colour strip between them. Direct children of the content
 * container = the section level. */
.wp-block-post-content > .has-background + *,
.wp-block-post-content > .wp-block-cover + *,
.entry-content > .has-background + *,
.entry-content > .wp-block-cover + * {
	margin-block-start: 0;
}
/* Several bands paint their background in CSS via a block style (not a
   has-background class or a cover), so the tiers above miss them as the
   PRECEDING section — same set the footer seam special-cases. */
.wp-block-post-content > :is(.is-style-section-cta, .is-style-swoosh-bg, .is-style-swoosh-bg-down) + *,
.entry-content > :is(.is-style-section-cta, .is-style-swoosh-bg, .is-style-swoosh-bg-down) + * {
	margin-block-start: 0;
}


/*--------------------------------------------------------------
# Grey swoosh bands (block style + legacy class)

Registered as block styles "Grey Swoosh" / "Grey Swoosh (Down)" for
core/group + core/columns (inc/pilot_mercury_atlas_block_styles.php).
A neutral-100 (grey) section with a grey wave SVG bleeding ABOVE it
(::before) or BELOW it (::after). Only the block-style classes are
painted — the legacy bare `swoosh-bg` class was renamed site-wide to
`swoosh-bg-depreciated` (intentionally unstyled, to be removed once
every section is migrated to this block style). The wave SVG is an
inline data-URI (fill #f2f3f4 = grey); z-index:-10 sits it behind
content, so the section needs no explicit stacking context.
--------------------------------------------------------------*/
.is-style-swoosh-bg,
.is-style-swoosh-bg-down {
	background-color: var(--wp--preset--color--grey);
	position: relative;
	margin-bottom: 0;
	padding-bottom: 4rem;
}
.is-style-swoosh-bg {
	margin-top: 6rem;
}
.is-style-swoosh-bg::before,
.is-style-swoosh-bg-down::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 500px;
	z-index: -10;
	background: url("data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwMDAgNTAwIj48cGF0aCBkPSJNMjc5LjUgMTMxLjVDMTc2LjIyIDM2OC44OSAwIDUwMCAwIDUwMGg0MDAwcy0xNjQuNS0zMzguNS01MDAtMjcxYy0zNDUuMTIgNjkuNDMtMTI2OS41IDIzNC41LTE3MTMuNSAyMzQuNS0zMjYgMC04MTYtMTg3LTEwNjQtMzE5QzQ5OCAyNSAzNzUtODggMjc5LjUgMTMxLjV6IiBmaWxsPSIjZjJmM2Y0Ii8+PC9zdmc+") center bottom / 4000px 500px no-repeat;
}
/* wave above (into the preceding section) */
.is-style-swoosh-bg::before {
	top: -499px;
}
/* wave below (flipped) */
.is-style-swoosh-bg-down::after {
	top: 100%;
	transform: rotate(180deg);
}

/* --------------------------------------------------------------
   Block style: "Wave Background"  (is-style-wave-bg)
   core/group + core/columns. A tall grey wave SVG (viewBox 4000x932,
   fill #f2f3f4) that bleeds ABOVE the section into the preceding
   content. DECORATION ONLY — no grey fill (unlike Grey Swoosh). Ported
   verbatim from the legacy `.wave-bg` / `.wave-bg::before`; `position:
   relative` is added so the absolutely-positioned wave anchors to the
   block when used standalone (legacy relied on an ancestor). Also
   targets the bare legacy `.wave-bg` class so verbatim-migrated content
   renders until it is switched to the block style. NOTE: intentionally
   NOT added to the footer/adjacent-section seam :is() lists above — it
   paints no background band, and its 3rem top margin must be preserved.
   -------------------------------------------------------------- */
.is-style-wave-bg,
.wave-bg {
	position: relative;
	margin-top: 3rem;
}
.is-style-wave-bg::before,
.wave-bg::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: -232px;
	width: 100%;
	height: 932px;
	z-index: -10;
	visibility: visible;
	background-image: url("data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQwMDAgOTMyIj48cGF0aCBkPSJNNDAwMCA5MzJDMzU1MS0xMCAyOTc3IDAgMjcwMiA2OWMtMjE2LjQ3IDU0LjMxLTY0MCAzMzYtODU2IDQzMXMtNDEyLjM5IDgxLjkyLTU3OS43NCAzOS41NUMxMTE0IDUwMSA3NTAuMTcgMzMyLjQ2IDU1OCAyOTYgMTY4IDIyMiAwIDkzMiAwIDkzMnoiIGZpbGw9IiNmMmYzZjQiLz48L3N2Zz4=");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 4000px 932px;
}
/* legacy hides the wave on small screens */
@media screen and (max-width: 480px) {
	.is-style-wave-bg::before,
	.wave-bg::before {
		background-image: none;
	}
}

/* --------------------------------------------------------------
   Block style: "Landing Page Hero"  (is-style-landing-page-hero)
   core/group. A white hero band with a grey wave along its
   bottom edge, navy text, and a two-column "copy | form" layout —
   the form sits in the LAST column as a navy-bordered white card.
   Packages the legacy .lp-hero + .cta-form + .form-border combo.
   Author it as a full-width group whose child is a Columns block:
   copy in the first column, the form in the last column.
   -------------------------------------------------------------- */
.is-style-landing-page-hero {
	background: var(--wp--preset--color--white)
		url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQ0MCIgaGVpZ2h0PSI0NTQiIHZpZXdCb3g9IjAgMCAxNDQwIDQ1NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9Im1hc2swXzI3ODhfMTciIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjQ1NCI+CjxyZWN0IHdpZHRoPSIxNDQwIiBoZWlnaHQ9IjQ1NCIgZmlsbD0iI0Q5RDlEOSIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMjc4OF8xNykiPgo8cGF0aCBkPSJNNjc3LjA1OSAxNDUuNTY2Qzk1MS45MzYgNDAuODYzMiAxMzE2Ljc1IDExOS4wMyAxMzE3LjIxIDExOS4xMjlDMTY5NC4wNiAxOTkuNDIgMTk0NC41MyA0NTMuNTExIDE5NDQuNTMgNDUzLjUxMUwxNjU1LjQ3IDQ1My41NjRDMTY1My44MyA0NTIuNDM4IDE0NDcuMjggMzEwLjQxOCAxMzM0LjQzIDI1Mi43NjFDMTE4My43NCAxNzUuNzczIDk0Mi45NjQgMTExLjU4MSA2ODAuNzk1IDE4NS41MThDNDM3LjI4MyAyNTQuMTg5IDMwMS4wNTcgNDQ3LjA5NyAyOTYuMzY5IDQ1My44MTlMLTY2MSA0NTRDLTQ1OC4zODMgMjIwLjQ3MiAtMTYwLjgxOSAyOTcuMzM1IDUwLjYwODQgMzAzLjIxQzMxNy4zOTggMzEwLjYyMiA0NDkuOTcgMjMyLjA2NSA2NzcuMDU5IDE0NS41NjZaIiBmaWxsPSIjRjJGM0Y0Ii8+CjwvZz4KPC9zdmc+Cg==")
		center bottom / 100% auto no-repeat;
	padding: var(--wp--preset--spacing--60) 0 4rem;
	margin-bottom: 0;
}
/* navy text throughout the hero */
.is-style-landing-page-hero,
.is-style-landing-page-hero h1,
.is-style-landing-page-hero h2,
.is-style-landing-page-hero h3,
.is-style-landing-page-hero h4,
.is-style-landing-page-hero h5,
.is-style-landing-page-hero h6,
.is-style-landing-page-hero p,
.is-style-landing-page-hero li,
.is-style-landing-page-hero a {
	color: var(--wp--preset--color--navy);
}
.is-style-landing-page-hero .wp-block-button {
	margin-top: 1.5rem;
}
/* copy column — hold a comfortable measure */
/* - wss- commented out. maybe can remove --.is-style-landing-page-hero .wp-block-columns .wp-block-column:first-child :is(p, h2, h3) {
	max-width: 42ch;
}*/
/* form column — navy-bordered white card pinned to the top, on the right.
   Scoped to the group's OWN top-level Columns (direct child `>`) so a Columns
   block nested inside the first (copy) column doesn't get the card border. */
.is-style-landing-page-hero > .wp-block-columns > .wp-block-column:last-child {
	align-self: start;
	background: var(--wp--preset--color--white);
	border: 3px solid var(--wp--preset--color--navy);
	box-shadow: -10px 10px 0 0 var(--wp--preset--color--navy);
	padding: 20px;
}
.is-style-landing-page-hero .gform_wrapper label.gfield_label {
	color: var(--wp--preset--color--navy);
}

/* --------------------------------------------------------------
   Block style: "In-Content CTA"  (is-style-in-content-cta)
   core/group. Ported VERBATIM from the legacy .in-content-cta: an aqua
   "blob" PNG sits behind the group on the right, and an aqua 45deg arrow
   PNG points at a right-aligned heading. Assets are the REAL live PNGs
   (assets/images/, pulled from live /images/). Only change from legacy:
   the `.wp-block-group__inner-container > h3` selector becomes the group's
   own child heading (modern block markup has no inner-container). The
   heading-link colour override is the one FSE addition — our default link
   colour is blue, live's heading reads navy.
   -------------------------------------------------------------- */
.is-style-in-content-cta {
	margin-block: 4em;
	position: relative;
}
.is-style-in-content-cta::before {
	content: url(assets/images/aqua-light-blob-01.png);
	width: 400px;
	position: absolute;
	right: -5rem;
	top: 60%;
	transform: translateY(-50%);
	z-index: -1;
}
.is-style-in-content-cta > :is(h2, h3) {
	font-size: 1.5rem;
	/* WP constrained-layout emits `margin-left/right:auto !important` on centered
	   children, so !important is required here to right-align the heading into the
	   blob (matches live). Legacy did this via a content grid (grid-column:4/-1),
	   which FSE has no equivalent for. */
	margin-left: auto !important;
	margin-right: 0 !important;
	max-width: 15ch;
	position: relative;
}
.is-style-in-content-cta > :is(h2, h3) a {
	color: var(--wp--preset--color--navy);
	text-decoration: none;
}
.is-style-in-content-cta > :is(h2, h3)::before {
	content: url(assets/images/aqua-arrow-45deg.png);
	position: absolute;
	top: -75px;
	left: -75px;
	z-index: -1;
}
.is-style-in-content-cta > :is(h2, h3):hover::before {
	transform: rotate(-45deg);
}

/* --------------------------------------------------------------
   Block style: "Section CTA"  (is-style-section-cta)
   core/columns + core/group. The navy-dark "Become our next case study"
   band: a blue swoop wave along the bottom, white text, and a two-column
   heading | copy+button layout. Ported from the legacy .section-cta —
   background swoop (navy data-URI), white text, spacing. The 2-col layout
   comes from the pattern's nested Columns block; the band is full-bleed
   and the inner content is held at content width.
   -------------------------------------------------------------- */
.is-style-section-cta {
	background: var(--color-navy-dark) url("data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDMwMDAgNTAwIj48cGF0aCBkPSJNMjA5MyAxNThzLTM3My04MC02NTQgMjdjLTIzMiA4OC4zNC0zNjcuNDQgMTY4LjU3LTY0MCAxNjEtMjE2LTYtNTIwLTg0LjUtNzI3IDE1NGwyNjYxLjg5LS41UzI0NzggMjQwIDIwOTMgMTU4eiIgZmlsbD0iIzAwMmQ1NiIvPjxwYXRoIGQ9Ik0xMDQ5IDUwMC41czEzOS43MS0yMDMuNzggMzkzLTI3NS41YzI2Ny45My03NS44NyA1MTQtMTAgNjY4IDY5IDExNS43OSA1OS40IDMyOC4xIDIwNi4wNiAzMjguMSAyMDYuMDZ6IiBmaWxsPSIjMDAxYjM0Ii8+PC9zdmc+") center bottom / 3000px 500px no-repeat;
	padding: var(--wp--preset--spacing--80) var(--wp--preset--spacing--50);
}
/* everything reads white except the button */
.is-style-section-cta :where(h1, h2, h3, h4, h5, h6, p, li, cite),
.is-style-section-cta a:not(.wp-element-button) {
	color: #fff;
}
.is-style-section-cta :where(h1, h2, h3) {
	margin-bottom: 0;
}
.is-style-section-cta .wp-block-button {
	margin-top: 1.5rem;
}
/* full-bleed band, inner content held at content width */
.is-style-section-cta > .wp-block-column,
.is-style-section-cta > .wp-block-group,
.is-style-section-cta > .wp-block-columns {
	max-width: var(--wp--style--global--content-size);
	width: 100%;
	margin-inline: auto;
}

