/*
 Theme Name: WMA Child Theme
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme created by Walker Media Agency
 Author: Walker Media Agency
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 2.0.0
*/
 
/* ========================================================================== 
   ITCSS: Inverted Triangle CSS | Section Index

   Layer  Section       Purpose
   -----  ------------  ----------------------------------------------------
   1      Settings      Tokens, font faces, colors, type, spacing, motion
   2      Tools         Theme defaults and reusable styling hooks
   3      Generic       Scoped reset and global rendering rules
   4      Elements      Unclassed HTML element baselines
   5      Objects       Layout patterns and structural wrappers
   6      Components    Divi overrides and named interface components
   7      Helpers       Contextual helper and state classes
   8      Utilities     Single-purpose overrides and utility classes

   Read from broad, low-specificity foundations toward narrow utilities.
   ========================================================================== */

/* 1. Settings
   Design tokens and project constants. No CSS selectors beyond :root.
   ========================================================================== */

@font-face {
	font-family: "Cormorant Garamond";
	src: url("fonts/CormorantGaramond-VariableFont_wght.woff2") format("woff2");
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
}

@font-face {
	font-family: "Cormorant Garamond";
	src: url("fonts/CormorantGaramond-Italic-VariableFont_wght.woff2") format("woff2");
	font-style: italic;
	font-weight: 300 700;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("fonts/Montserrat-VariableFont_wght.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Montserrat";
	src: url("fonts/Montserrat-Italic-VariableFont_wght.woff2") format("woff2");
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Open Sans";
	src: url("fonts/OpenSans-VariableFont_wdth,wght.woff2") format("woff2");
	font-style: normal;
	font-weight: 300 800;
	font-stretch: 75% 100%;
	font-display: swap;
}

@font-face {
	font-family: "Open Sans";
	src: url("fonts/OpenSans-Italic-VariableFont_wdth,wght.woff2") format("woff2");
	font-style: italic;
	font-weight: 300 800;
	font-stretch: 75% 100%;
	font-display: swap;
}

:root {
	font-size: 100%;
	--sf-mobile-menu-top: 2rem; /* Fallback until the header row is measured. */

	--sf-color-exec-granite: #363636;
	--sf-color-ledger-gray: #595959;
	--sf-color-gold-fortune: #cca43b;
	--sf-color-balance-silver: #e5e5e5;
	--sf-color-exec-granite-50: rgb(54 54 54 / 50%);
	--sf-color-prospectus-white-85: rgb(255 255 255 / 85%);
	--sf-color-market-black: #000000;
	--sf-color-capital-navy: #242f40;
	--sf-color-equity-gray: #666666;
	--sf-color-prospectus-white-75: rgb(255 255 255 / 75%);
	--sf-color-text: var(--sf-color-exec-granite);
	--sf-color-heading: var(--sf-color-exec-granite);
	--sf-color-muted: #627d98;
	--sf-color-surface: #ffffff;
	--sf-color-border: #d9e2ec;
	--sf-color-accent: var(--sf-color-capital-navy);

	--sf-font-sans-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--sf-font-serif-fallback: Georgia, "Times New Roman", serif;
	--sf-font-display: "Cormorant Garamond", var(--sf-font-serif-fallback);
	--sf-font-heading: var(--sf-font-display);
	--sf-font-body: "Open Sans", var(--sf-font-sans-fallback);
	--sf-font-eyebrow: "Montserrat", var(--sf-font-sans-fallback);
	--sf-font-ui: var(--sf-font-eyebrow);
	--sf-font-sans: var(--sf-font-body);
	--sf-font-serif: var(--sf-font-display);
	--sf-font-display-weight-max: 700;
	--et_global_header_font: var(--sf-font-heading) !important;
	--et_global_heading_font: var(--sf-font-heading) !important;
	--et_global_body_font: var(--sf-font-body) !important;

	--sf-type-eyebrow-size: clamp(0.8125rem, 0.7946rem + 0.0893vw, 0.875rem);
	--sf-type-eyebrow-line-height: clamp(1.21875rem, 1.192rem + 0.1339vw, 1.3125rem);
	--sf-type-eyebrow-letter-spacing: 0.16em;

	--sf-type-body-size: clamp(1rem, 0.9643rem + 0.1786vw, 1.125rem);
	--sf-type-body-line-height: clamp(1.6rem, 1.5143rem + 0.4286vw, 1.9rem);
	--sf-type-display-letter-spacing: clamp(-2.83px, calc(2.1px - 0.056em), 0px);

	--sf-type-h3-size: clamp(1.5rem, 1.4286rem + 0.3571vw, 1.75rem);
	--sf-type-h3-line-height: clamp(1.875rem, 1.7607rem + 0.5714vw, 2.275rem);

	--sf-type-h2-size: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);
	--sf-type-h2-line-height: clamp(2.625rem, 2rem + 3.125vw, 4.1875rem);

	--sf-type-h1-size: clamp(2.75rem, 2.05rem + 3.5vw, 4.5rem);
	--sf-type-h1-line-height: clamp(3rem, 2.2rem + 4vw, 5rem);

	--sf-space-1: 0.25rem;
	--sf-space-2: 0.5rem;
	--sf-space-3: 0.75rem;
	--sf-space-4: 1rem;
	--sf-space-5: 1.5rem;
	--sf-space-6: 2rem;
	--sf-space-7: 3rem;
	--sf-space-8: 4rem;

	--sf-gutter: 28px;
	--sf-container: 72rem;
	--sf-radius: 1px;
	--sf-transition: 180ms ease;
	--sf-motion-micro-duration: 0.14s;
	--sf-motion-micro-ease: linear;
	--sf-motion-interaction-duration: 0.28s;
	--sf-motion-interaction-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--sf-motion-entrance-duration: 0.4s;
	--sf-motion-entrance-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.admin-bar {
	--sf-adminbar-offset: 32px;
}

body.admin-bar:not(.et-fb):not(.et-bfb) #page-container {
	margin-top: var(--sf-adminbar-offset) !important;
}

body.admin-bar:not(.et-fb):not(.et-bfb) #wpadminbar {
	position: fixed !important;
	top: 0 !important;
}

body.admin-bar:not(.et-fb):not(.et-bfb) #main-header,
body.admin-bar:not(.et-fb):not(.et-bfb) #top-header,
body.admin-bar:not(.et-fb):not(.et-bfb) .et-l--header,
body.admin-bar:not(.et-fb):not(.et-bfb) .et-l--header .et_pb_section--fixed {
	top: var(--sf-adminbar-offset) !important;
}

/* Keep Divi's fixed header and first viewport still until its load pass is complete. */
html:not(.sf-page-ready) .sf-scope .et-l--header,
html:not(.sf-page-ready) .sf-scope .et-l--header :where(*),
html:not(.sf-page-ready) .sf-scope .sf-hp-masthead-section,
html:not(.sf-page-ready) .sf-scope .sf-hp-masthead-section :where(*) {
	transition: none !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--sf-adminbar-offset: 46px;
	}
}

@media screen and (min-width: 981px) {
	[class~="--sf-global-header"].sf-scope {
		padding-block: 1rem !important;
		transition: padding-block 220ms ease !important;
	}

	[class~="--sf-global-header"].sf-scope.is-scrolled {
		padding-block: 0 !important;
	}

	[class~="--sf-global-header"].sf-scope.is-scrolled .et_pb_row {
		align-items: center;
		height: 70px !important;
		min-height: 70px !important;
		padding-block: 0 !important;
	}

	[class~="--sf-global-header"].sf-scope .et_pb_image_wrap,
	[class~="--sf-global-header"].sf-scope .et_pb_image_wrap img {
		transform-origin: left center;
		transition: transform 220ms ease;
	}

	[class~="--sf-global-header"].sf-scope.is-scrolled .et_pb_image_wrap img {
		transform: scale(0.72);
	}
}

/* 2. Tools
   Mixins/functions would live here in a preprocessor setup.
   ========================================================================== */

/* 2.1 Divi and WordPress Font Defaults
   Force common theme typography to inherit the child theme font system.
   ========================================================================== */

body,
p,
input,
textarea,
select,
button,
.et_pb_module,
.et_pb_text,
.et_pb_text_inner {
	color: var(--sf-color-text);
	font-family: var(--et_global_body_font);
}

h1,
h2,
h3,
h4,
h5,
h6,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6,
.et_pb_text_inner h1,
.et_pb_text_inner h2,
.et_pb_text_inner h3,
.et_pb_text_inner h4,
.et_pb_text_inner h5,
.et_pb_text_inner h6 {
	font-family: var(--et_global_heading_font);
}

h1,
h2,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_text_inner h1,
.et_pb_text_inner h2 {
	font-weight: var(--sf-font-display-weight-max);
	letter-spacing: var(--sf-type-display-letter-spacing);
}

[class~="--sf-global-header"].sf-scope,
[class~="--sf-global-header"].sf-scope *,
[class~="--sf-global-header"].sf-scope .et_pb_module,
[class~="--sf-global-header"].sf-scope .et_pb_menu,
[class~="--sf-global-header"].sf-scope .et_pb_menu *,
[class~="--sf-global-header"].sf-scope nav,
[class~="--sf-global-header"].sf-scope nav * {
	font-family: var(--sf-font-ui);
}

[class~="--sf-global-footer"].sf-scope h3,
[class~="--sf-global-footer"].sf-scope .footer-col-title,
[class~="--sf-global-footer"].sf-scope .et_pb_module h3,
[class~="--sf-global-footer"].sf-scope .et_pb_module .footer-col-title,
[class~="--sf-global-footer"].sf-scope .et_pb_text_inner h3,
[class~="--sf-global-footer"].sf-scope .et_pb_text_inner .footer-col-title,
.sf-global-footer.sf-scope h3,
.sf-global-footer.sf-scope .footer-col-title,
.sf-global-footer.sf-scope .et_pb_module h3,
.sf-global-footer.sf-scope .et_pb_module .footer-col-title,
.sf-global-footer.sf-scope .et_pb_text_inner h3,
.sf-global-footer.sf-scope .et_pb_text_inner .footer-col-title {
	color: #595959 !important;
	font-family: var(--sf-font-eyebrow) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 21px !important;
	letter-spacing: 2.52px !important;
	text-transform: uppercase !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et_pb_menu__menu {
	display: block !important;
	width: 100% !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et_mobile_nav_menu {
	display: none !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et_pb_menu__wrap,
:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu-nav,
:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu > li {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu > li > a {
	display: block !important;
	width: 100% !important;
	padding: 0.25rem 0 !important;
	text-align: left !important;
	white-space: normal !important;
}

@media screen and (max-width: 767px) {
	:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et_pb_menu__wrap,
	:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu-nav,
	:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu,
	:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu > li,
	:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .et-menu > li > a {
		text-align: center !important;
	}
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .footer-disclaimer {
	color: #666666 !important;
	font-family: "Open Sans", var(--sf-font-sans-fallback) !important;
	font-size: 11px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 17.6px !important;
}

:is([class~="--sf-global-footer"].sf-scope, .sf-global-footer.sf-scope) .footer-disclaimer p {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* Divi tabs: replace the native borders with the animated SVG system. */
.sf-tab-module .et_pb_tabs_controls {
	display: flow-root !important;
	position: relative;
	background-color: transparent !important;
	border-bottom: 0 !important;
}

.sf-tab-module .et_pb_tabs_controls::after {
	display: none !important;
}

.sf-tab-module .et_pb_tabs_controls > li,
.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
	position: relative;
	z-index: 1;
	border: 0 !important;
}

.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
	z-index: 2;
	background-color: var(--sf-color-surface) !important;
	box-shadow: none !important;
}

.sf-tab-module .et_pb_tabs_controls > li > a,
.sf-tab-module .et_pb_tabs_controls > li > a:hover,
.sf-tab-module .et_pb_tabs_controls > li > a:focus {
	border-bottom: 0 !important;
	box-shadow: none !important;
	background-image: none !important;
}

.sf-tab-module .et_pb_tab_nav_item_link {
	padding-block: 1rem !important;
	padding-inline-end: 1rem !important;
	font-family: "Montserrat", sans-serif !important;
}

.sf-tab-module .et_pb_tab_content {
	width: 100% !important;
}

.sf-tabs-motion,
.sf-tabs-motion__corners,
.sf-tabs-motion__edges {
	position: absolute;
	display: block;
	overflow: visible;
	pointer-events: none;
}

.sf-tabs-motion {
	top: auto;
	right: 0;
	bottom: auto;
	left: 0;
	height: 1px !important;
	width: 100%;
	z-index: 1;
	color: var(--sf-color-capital-navy);
}

.sf-tabs-motion__edges {
	top: 0;
	right: 0;
	bottom: auto;
	left: 0;
	width: 100%;
	z-index: 2;
	color: var(--sf-color-capital-navy);
}

.sf-tabs-motion__mask {
	position: absolute;
	bottom: auto;
	height: 1px !important;
	z-index: 1;
	visibility: hidden;
	color: var(--sf-color-surface);
}

.sf-tabs-motion__baseline-mask {
	position: absolute;
	top: 0;
	left: 0;
	height: 4px !important;
	z-index: 1;
	color: var(--sf-color-surface);
}

.sf-tabs-motion__mask.is-active {
	visibility: visible;
}

.sf-tabs-motion__baseline-mask rect {
	fill: currentColor;
	stroke: none;
	shape-rendering: crispEdges;
}

.sf-tabs-motion__corners {
	top: 0;
	right: auto;
	bottom: auto;
	left: 0;
	width: 100%;
	color: var(--sf-color-capital-navy);
}

.sf-tabs-motion path,
.sf-tabs-motion line,
.sf-tabs-motion__corners path,
.sf-tabs-motion__edges path,
.sf-tabs-motion__mask path,
.sf-tabs-motion__baseline-mask path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
	stroke-linecap: butt;
}

.sf-tabs-motion__baseline-mask path {
	transform-box: fill-box;
	transform-origin: center center;
}

@media screen and (min-width: 981px) {
	.sf-tab-module.et_pb_tabs {
		display: grid !important;
		grid-template-columns: minmax(13rem, 0.65fr) minmax(0, 1.75fr);
		grid-template-areas: "nav content";
		column-gap: clamp(2rem, 5vw, 5rem);
		align-items: start;
	}

	.sf-tab-module.et_pb_tabs > .et_pb_tabs_controls {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.sf-tab-module.et_pb_tabs > .et_pb_all_tabs {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	.sf-tab-module .et_pb_tabs_controls_wrapper {
		grid-area: nav;
		grid-column: 1;
		min-width: 0;
	}

	.sf-tab-module .et_pb_tabs_controls {
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border-inline-end: 0 !important;
		grid-area: nav;
		grid-column: 1;
		grid-row: 1;
	}

	.sf-tab-module .et_pb_tabs_controls > li,
	.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
		display: block;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left;
	}

	.sf-tab-module .et_pb_tabs_controls > li > a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding: 1rem 1rem 1rem 0 !important;
		color: var(--sf-color-ledger-gray);
		font-family: "Montserrat", var(--sf-font-sans-fallback) !important;
		font-size: var(--sf-type-eyebrow-size);
		font-weight: 600;
		line-height: 1.35;
		letter-spacing: 0.08em;
		text-align: left;
		text-transform: uppercase;
		transition: color 180ms ease, background-color 180ms ease;
	}

	.sf-tab-module .et_pb_tabs_controls > li > a:hover,
	.sf-tab-module .et_pb_tabs_controls > li > a:focus-visible,
	.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active > a {
		color: var(--sf-color-capital-navy);
		background-color: var(--sf-color-surface);
	}

	.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
		margin-inline-end: 0 !important;
	}

	.sf-tab-module .et_pb_all_tabs {
		clear: none !important;
		float: none !important;
		grid-column: 2;
		grid-area: content;
		grid-row: 1;
		min-width: 0;
		width: auto !important;
		max-width: none !important;
		padding: 0 !important;
	}

	.sf-tab-module .sf-tabs-motion {
		display: block !important;
		z-index: 3;
	}


	.sf-tab-module .sf-tabs-motion__corners,
	.sf-tab-module .sf-tabs-motion__baseline-mask,
	.sf-tab-module .sf-tabs-motion__mask {
		display: none !important;
	}

	.sf-tab-module .sf-tabs-motion__edges > path:not(.sf-tabs-motion__rail):not(.sf-tabs-motion__rail-branch) {
		display: none;
	}

	.sf-tab-module .sf-tabs-motion__gap {
		fill: var(--sf-color-surface);
		stroke: none;
	}
}
/* Mobile only (Divi breakpoint < 981px) */
@media (max-width: 980px) {
  /* Targets only the immediate row holding the element, ignoring parent rows */
  .et_pb_row:not(:has(.et_pb_row)):has(.eyebrow-corner-wrapper) {
    max-width: calc(100% - 2rem) !important;
	/*width: 100%; */
  }
}
@media screen and (max-width: 980px) {
	/* Services tabs: keep the navigation in a compact horizontal rail on
	   tablet and mobile instead of stacking every tab vertically. */
	.sf-tab-module .et_pb_tab {
		padding: 24px 30px 24px 1rem !important;
	}

	.sf-tab-module.et_pb_tabs {
		display: block !important;
	}

	.sf-tab-module .et_pb_tabs_controls {
		display: flex !important;
		align-items: stretch;
		float: none !important;
		gap: 0;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible;
	}

	.sf-tab-module .et_pb_tabs_controls > li,
	.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
		flex: 1 1 0;
		width: auto !important;
		min-width: 0;
		max-width: none;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		text-align: left;
	}

	.sf-tab-module .et_pb_tabs_controls > li > a {
		display: block;
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		padding: 0.85rem 1rem !important;
		white-space: normal;
		overflow-wrap: anywhere;
		font-size: var(--sf-type-eyebrow-size);
		line-height: 1.3;
	}

	.sf-tab-module .et_pb_all_tabs {
		clear: both !important;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.sf-tab-module .sf-tabs-motion__corners,
	.sf-tab-module .sf-tabs-motion__mask {
		display: none !important;
	}

	.sf-tab-module .sf-tabs-motion__baseline-mask {
		display: block !important;
		z-index: 4;
		color: var(--sf-color-surface);
	}

	.sf-tab-module .sf-tabs-motion__baseline-mask--exit {
		display: none !important;
	}

	.sf-tab-module .sf-tabs-motion__rail,
	.sf-tab-module .sf-tabs-motion__rail-branch,
	.sf-tab-module .sf-tabs-motion__gap {
		display: none !important;
	}

	.sf-tab-module .sf-tabs-motion {
		display: block !important;
		z-index: 3;
	}
}

@media screen and (max-width: 767px) {
	/* Portrait mobile: stack the services tabs as full-width, centered rows. */
	.sf-tab-module .et_pb_tabs_controls {
		flex-direction: column;
		align-items: stretch;
		overflow: visible;
	}

	.sf-tab-module .et_pb_tabs_controls > li,
	.sf-tab-module .et_pb_tabs_controls > li.et_pb_tab_active {
		flex: 0 0 auto;
		width: 100% !important;
		max-width: none;
		text-align: left;
	}

	.sf-tab-module .et_pb_tabs_controls > li > a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 4rem;
		padding: 0.85rem 1rem !important;
		text-align: left;
	}

	.sf-tab-module .sf-tabs-motion__edges,
	.sf-tab-module .sf-tabs-motion__baseline-mask,
	.sf-tab-module .sf-tabs-motion__baseline-mask--exit,
	.sf-tab-module .sf-tabs-motion__corners,
	.sf-tab-module .sf-tabs-motion__mask,
	.sf-tab-module .sf-tabs-motion__rail,
	.sf-tab-module .sf-tabs-motion__rail-branch,
	.sf-tab-module .sf-tabs-motion__gap {
		display: none !important;
	}
}

/* Custom FAQ: add .gsap-faq to the Divi row and .gsap-faq-tabs to the
   left-hand Text Module. The answer markup lives in .gsap-faq-container. */
.gsap-faq {
	--gsap-faq-line-width: 1px;
	--gsap-faq-line-color: var(--sf-color-capital-navy);
}

/* Applies custom gutter ONLY on desktop (981px and above) */
@media (max-width: 981px) {
  .gsap-faq.left-custom-gutter {
    padding-inline-start: 0 !important;
  }

   .faq-link.is-active ~ .gsap-faq-answer {
    margin-bottom: 3rem !important;
  }

 
  .faq-link.is-active ~ .gsap-faq-answer {
    padding-left: 1rem !important;
    border-left: 1px solid var(--sf-color-capital-navy) !important;
  }
}


/* Keep the desktop columns and their content areas the same height. */
.gsap-faq.et_pb_row {
	display: flex;
	align-items: stretch;
}

.gsap-faq.et_pb_row::after {
	display: none;
}

.gsap-faq.et_pb_row > .et_pb_column {
	display: flex;
	flex-direction: column;
}

.gsap-faq.et_pb_row > .et_pb_column:has(.gsap-faq-container) > .et_pb_module {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.gsap-faq.et_pb_row > .et_pb_column:has(.gsap-faq-container) .gsap-faq-container {
	flex: 1 1 auto;
}

.gsap-faq-tabs {
	position: relative;
	isolation: isolate;
	padding-right: clamp(1.5rem, 4vw, 4rem);
}

.gsap-faq .gsap-faq-tabs .faq-link {
	position: relative;
	z-index: 1;
	display: block;
	margin: 0 !important;
	min-height: 48px;
	padding-block: 0.75rem;
	padding-inline: 0;
	box-sizing: border-box;
	font-family: "Montserrat", var(--sf-font-sans-fallback);
	color: #8b8a8a !important;
	font-weight: 600 !important;
	line-height: 1.3;
	cursor: pointer;
	transition: color 180ms ease;
}

.gsap-faq .gsap-faq-tabs .faq-link:hover,
.gsap-faq .gsap-faq-tabs .faq-link:focus-visible {
	color: #8b8a8a !important;
}

.gsap-faq .gsap-faq-tabs .faq-link.is-active {
	color: #000 !important;
}

.gsap-faq.et_pb_row .gsap-faq-tabs .faq-link:not(.is-active) {
	color: #8b8a8a !important;
}

.gsap-faq .gsap-faq-tabs .faq-link:focus-visible {
	outline: 2px solid var(--gsap-faq-line-color);
	outline-offset: 0.2rem;
}

@media screen and (min-width: 981px) {
	.gsap-faq .gsap-faq-tabs .faq-link {
		font-size: 1rem;
	}
}

.gsap-faq-motion {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
	z-index: 0;
	color: var(--gsap-faq-line-color);
}

.gsap-faq-motion path {
	fill: none;
	stroke: currentColor;
	stroke-width: var(--gsap-faq-line-width);
	vector-effect: non-scaling-stroke;
	stroke-linecap: butt;
}

.gsap-faq-motion__gap {
	fill: var(--sf-color-surface);
	stroke: none;
}

.gsap-faq-container {
	display: grid;
	align-items: start;
}

.gsap-faq-container > .gsap-faq-answer {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	transform: translateY(var(--gsap-faq-answer-offset, 0px));
	visibility: hidden;
	pointer-events: none;
	transition: opacity 240ms ease, visibility 0s linear 240ms;
}

.gsap-faq-container > .gsap-faq-answer.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
	.gsap-faq-container > .gsap-faq-answer {
		transition: none;
	}
}

@media (max-width: 766px) {
	.gsap-faq.et_pb_row {
		display: block;
	}

	.gsap-faq.et_pb_row > .et_pb_column,
	.gsap-faq.et_pb_row > .et_pb_column:has(.gsap-faq-container) > .et_pb_module {
		display: block;
	}

	.gsap-faq .gsap-faq-tabs {
		padding-right: 0;
	}

	.gsap-faq .gsap-faq-motion,
	.gsap-faq .gsap-faq-container.is-mobile-faq-source {
		display: none !important;
	}

	.gsap-faq .gsap-faq-tabs > .is-mobile-faq-answer {
		position: relative;
		display: block;
		height: 0;
		margin: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
	}

	.gsap-faq .gsap-faq-tabs .faq-link {
		font-weight: 600;
	}

	.gsap-faq .gsap-faq-tabs > .is-mobile-faq-answer.is-active {
		visibility: visible;
	}

	.gsap-faq .gsap-faq-tabs > .is-mobile-faq-answer::after {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 1px;
		background: var(--gsap-faq-line-color);
		content: "";
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 180ms linear;
	}

	.gsap-faq .gsap-faq-tabs > .is-mobile-faq-answer.is-active::after {
		transform: scaleX(1);
	}
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.et_pb_button,
.et_pb_module .et_pb_button,
.et_button_no_icon .et_pb_button,
.et_button_no_icon .et_pb_button:hover {
	font-family: var(--sf-font-ui);
}

.sf-scope .global-nav-button.nav-button-contact {
	margin-top: 0 !important;
	padding: 0 !important;
	background: var(--sf-color-exec-granite) !important;
	border: 1px solid var(--sf-color-exec-granite) !important;
	border-radius: 1px !important;
	color: #ffffff !important;


	a {
		color: #ffffff !important;
		margin: 0 !important;
		padding: 0.25rem 1.15rem !important;
		display: inline-flex !important;
		align-items: center !important;
	}
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a {
	position: relative;
	z-index: 1;
	display: inline-block;
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a::before,
[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 1.25rem;
	height: 1.25rem;
	pointer-events: none;
	background-repeat: no-repeat;
	transition: transform 180ms ease;
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a::before {
	top: 0;
	left: 0;
	background-image:
		linear-gradient(var(--sf-color-capital-navy), var(--sf-color-capital-navy)),
		linear-gradient(var(--sf-color-capital-navy), var(--sf-color-capital-navy));
	background-position: top left, top left;
	background-size: 100% 1px, 1px 100%;
	transform: scale(0);
	transform-origin: top left;
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a::after {
	right: 0;
	bottom: 0;
	background-image:
		linear-gradient(var(--sf-color-capital-navy), var(--sf-color-capital-navy)),
		linear-gradient(var(--sf-color-capital-navy), var(--sf-color-capital-navy));
	background-position: bottom right, bottom right;
	background-size: 100% 1px, 1px 100%;
	transform: scale(0);
	transform-origin: bottom right;
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a:hover::before,
[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a:hover::after,
[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a:focus-visible::before,
[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a:focus-visible::after {
	transform: scale(1);
}

.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {
    margin-top: 0px;
}

.et_pb_menu .et-menu>li {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 1201px) {
	[class~="--sf-global-header"].sf-scope .et-menu > li.global-nav-button {
		margin-inline-start: 1.25rem;
	}
}

.et_pb_menu .et_pb_menu__menu>nav>ul {
	flex-wrap: nowrap;
	gap: 0;
}

.et_pb_menu .et_pb_menu__menu>nav>ul>li>a {
	white-space: nowrap;
}

/* Keep the full desktop menu readable while the header gets narrower. */
@media (min-width: 981px) and (max-width: 1350px) {
	[class~="--sf-global-header"].sf-scope .et_pb_menu_inner_container,
	[class~="--sf-global-header"].sf-scope .et_pb_menu__wrap,
	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu,
	[class~="--sf-global-header"].sf-scope .et-menu-nav,
	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu > nav > ul {
		width: 100%;
		max-width: none;
	}

	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu > nav > ul {
		justify-content: space-between;
	}
}

/* Let the desktop menu use multiple rows before the mobile menu takes over. */
@media (min-width: 981px) and (max-width: 1200px) {
	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu > nav > ul {
		display: grid;
		grid-template-columns: repeat(3, minmax(max-content, 1fr)) max-content;
		grid-template-rows: repeat(2, auto);
		align-items: stretch;
		justify-content: initial;
	}

	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu > nav > ul > li.global-nav-button {
		grid-column: 4;
		grid-row: 1 / span 2;
		display: flex;
		align-items: stretch;
	}

	[class~="--sf-global-header"].sf-scope .et_pb_menu__menu > nav > ul > li.global-nav-button > a {
		display: flex;
		align-items: center;
		height: 100%;
	}
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button) > a {
	position: relative;
	z-index: 1;
	padding: 0.5rem 1.25rem;	
}

[class~="--sf-global-header"].sf-scope .et-menu > li:not(.global-nav-button):hover {
	color: var(--sf-color-capital-navy)!important;

	& > a {
		opacity: 1;
		color: var(--sf-color-capital-navy)!important;
	}
}

/* 3. Generic
   Opt-in reset scope. Add .sf-scope to custom child-theme sections.
   ========================================================================== */

.sf-scope,
.sf-scope::before,
.sf-scope::after {
	box-sizing: border-box;
}

.sf-scope :where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) {
	margin-block-start: 0;
}

.sf-scope :where(img, picture, video, canvas, svg) {
	display: block;
	max-width: 100%;
	height: auto;
}

.sf-scope :where(input, button, textarea, select) {
	font: inherit;
}

.sf-scope :where(button) {
	cursor: pointer;
}

.sf-scope :where([hidden]) {
	display: none !important;
}

/* 4. Elements
   Bare element defaults inside the child-theme scope.
   ========================================================================== */

.sf-scope {
	color: var(--sf-color-text);
	font-family: var(--sf-font-body);
	font-size: var(--sf-type-body-size);
	line-height: var(--sf-type-body-line-height);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.sf-scope :where(h1, h2, h3, h4, h5, h6),
.sf-scope .et_pb_module :where(h1, h2, h3, h4, h5, h6),
.sf-scope .et_pb_text_inner :where(h1, h2, h3, h4, h5, h6) {
	color: var(--sf-color-heading);
	font-family: var(--sf-font-heading);
	font-weight: 600;
	letter-spacing: 0;
	padding-bottom: 0;
	margin-block: 0 var(--sf-space-4);
}

.sf-scope :where(h1, .sf-h1),
.sf-scope .et_pb_module :where(h1, .sf-h1),
.sf-scope .et_pb_text_inner :where(h1, .sf-h1) {
	font-size: var(--sf-type-h1-size);
	font-weight: var(--sf-font-display-weight-max);
	line-height: var(--sf-type-h1-line-height);
	letter-spacing: var(--sf-type-display-letter-spacing);
}

.sf-scope :where(h2, .sf-h2),
.sf-scope .et_pb_module :where(h2, .sf-h2),
.sf-scope .et_pb_text_inner :where(h2, .sf-h2) {
	font-size: var(--sf-type-h2-size);
	font-weight: var(--sf-font-display-weight-max);
	line-height: var(--sf-type-h2-line-height);
	letter-spacing: var(--sf-type-display-letter-spacing);
}

.sf-scope :where(h3, .sf-h3),
.sf-scope .et_pb_module :where(h3, .sf-h3),
.sf-scope .et_pb_text_inner :where(h3, .sf-h3) {
	font-size: var(--sf-type-h3-size);
	font-weight: var(--sf-font-display-weight-max);
	line-height: var(--sf-type-h3-line-height);
	letter-spacing: 0;
}

.sf-scope :where(p, ul, ol),
.sf-scope .et_pb_module :where(p, ul, ol),
.sf-scope .et_pb_text_inner :where(p, ul, ol) {
	/* Let Divi's module/inline text-color setting win. */
	color: inherit;
	font-family: var(--sf-font-body);
	font-size: inherit;
	font-weight: 400;
	line-height: var(--sf-type-body-line-height);
	letter-spacing: 0;
	padding-bottom: 0;
	margin-block-end: var(--sf-space-4);
}

.sf-scope :where(p:last-child, ul:last-child, ol:last-child),
.sf-scope .et_pb_module :where(p:last-child, ul:last-child, ol:last-child),
.sf-scope .et_pb_text_inner :where(p:last-child, ul:last-child, ol:last-child) {
	margin-block-end: 0;
}

.sf-scope :where(a) {
	color: var(--sf-color-accent);
	font-weight: 600;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

.sf-scope :where(a:hover, a:focus-visible) {
	text-decoration-line: underline !important;
	text-decoration-thickness: 0.12em;
}


/* Prevent page scrolling on mobile (iOS-compatible) */
html.mobile-menu-open,
body.mobile-menu-open {
  overflow: hidden !important;
  height: 100vh !important;
  touch-action: none;
}

/* Base backdrop state (hidden with transition ready) */
body .et-l.et-l--header::before {
  content: "";
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Active backdrop state (fades in) */
body.mobile-menu-open .et-l.et-l--header::before {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@keyframes sfOverlayFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Sharp custom mobile menu icon.
   Add custom-sharp-hamburger to the Divi Menu module. The SVG itself is
   injected by script so GSAP can target its individual paths. */
.custom-sharp-hamburger .mobile_menu_bar::before {
	content: none !important;
}

.custom-sharp-hamburger .mobile_menu_bar .custom-sharp-hamburger__svg {
	display: block;
	width: var(--sf-sharp-hamburger-width, .25rem);
	height: var(--sf-sharp-hamburger-height, .25rem);
	overflow: visible;
	padding-block: .25rem;
	color: inherit;
	pointer-events: none;
}

.custom-sharp-hamburger .custom-sharp-hamburger__line {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: square;
	stroke-linejoin: miter;
	transform-box: view-box;
	transform-origin: center center;
}

/* Keep the icon usable if JavaScript is unavailable. */
.custom-sharp-hamburger .mobile_menu_bar:not(:has(.custom-sharp-hamburger__svg)) {
	background: linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
		linear-gradient(currentColor, currentColor) 0 50% / 100% 2px no-repeat,
		linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat;
}

/* Let the mobile dropdown break out of the narrow trigger wrapper while the
   burger itself stays anchored in the header. */
@media screen and (max-width: 980px) {
	.et_pb_section_0_tb_header:has(.custom-sharp-hamburger) {
		z-index: 100000 !important;
	}

	/* Divi centers this full-width fixed section with a transform. Remove it
	   on mobile so the fixed dropdown uses viewport coordinates. */
	.et_pb_section_0_tb_header.et_pb_section--fixed:has(.custom-sharp-hamburger) {
		left: 0 !important;
		transform: none !important;
	}

	/* The home-link logo fits inside its fluid column with 8px clear above
	   and below; its aspect ratio stays intact at tablet and phone widths. */
	.et_pb_row_0_tb_header:has(.custom-sharp-hamburger) > .et_pb_column:has(.et_pb_image_0_tb_header) {
		padding-block: 8px !important;
		box-sizing: border-box;
		align-self: stretch;
		justify-content: center;
	}

	.et_pb_row_0_tb_header:has(.custom-sharp-hamburger) .et_pb_image_0_tb_header {
		width: min(193px, 100%) !important;
		max-width: 100% !important;
		max-height: 100%;
		min-height: 0;
		margin-block: 0 !important;
	}

	.et_pb_row_0_tb_header:has(.custom-sharp-hamburger) .et_pb_image_0_tb_header :is(a, .et_pb_image_wrap, img) {
		max-width: 100%;
		max-height: 100%;
	}

	.et_pb_row_0_tb_header:has(.custom-sharp-hamburger) .et_pb_image_0_tb_header img {
		height: auto !important;
		object-fit: contain;
	}

	.et_pb_section_0_tb_header:has(.custom-sharp-hamburger) .et_pb_row {
		position: relative;
		z-index: 2;
	}

	.custom-sharp-hamburger {
		position: relative;
		z-index: 2;
		overflow: visible;
	}

	.custom-sharp-hamburger .et_mobile_nav_menu,
	.custom-sharp-hamburger .mobile_nav {
		position: static;
	}

	.custom-sharp-hamburger .mobile_menu_bar {
		position: relative;
		z-index: 3;
	}

	.custom-sharp-hamburger .et_mobile_menu {
		position: fixed !important;
		top: var(--sf-mobile-menu-top, 0px) !important;
		left: 0 !important;
		width: 100vw !important;
		max-height: calc(100dvh - var(--sf-mobile-menu-top, 0px));
		box-sizing: border-box;
		margin: 0 !important;
		overflow-y: auto;
		z-index: 1;
		padding-bottom: var(--sf-space-4);
		border-top: 0!important;
	}

	.mobile-menu-open .custom-sharp-hamburger .et_mobile_menu {
		z-index: 100000 !important;
	}
}

/* Navigation, tab controls, and buttons do not use the text-link treatment. */
.sf-scope .et-menu a,
.sf-scope .et_pb_tabs_controls a,
.sf-scope .et_pb_button,
.sf-scope button {
	text-decoration-line: none !important;
}

/* Standard text-module links use the Shellcrest navy treatment. */
/* .sf-scope .et_pb_text_inner a:not(.read-more-link):not(.sf-arrow-link):not(.text-link-read-more):not(.connect-popup-trigger),
.sf-scope .et_pb_module .et_pb_text_inner a:not(.read-more-link):not(.sf-arrow-link):not(.text-link-read-more):not(.connect-popup-trigger) {
	color: var(--sf-color-capital-navy) ;
	text-decoration-line: underline !important;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
} */

:where(.sf-scope .et_pb_text_inner) a:not(.read-more-link, .sf-arrow-link, .text-link-read-more, .connect-popup-trigger) {
  color: var(--sf-color-capital-navy);
  text-decoration-line: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

/* 

.sf-scope .et_pb_text_inner a:not(.read-more-link):not(.sf-arrow-link):not(.text-link-read-more):not(.connect-popup-trigger):hover,
.sf-scope .et_pb_text_inner a:not(.read-more-link):not(.sf-arrow-link):not(.text-link-read-more):not(.connect-popup-trigger):focus-visible {
	color: var(--sf-color-capital-navy) ;
	text-decoration-thickness: 0.12em;
} */

:where(.sf-scope .et_pb_text_inner a:not(.read-more-link, .sf-arrow-link, .text-link-read-more, .connect-popup-trigger)):hover,
:where(.sf-scope .et_pb_text_inner a:not(.read-more-link, .sf-arrow-link, .text-link-read-more, .connect-popup-trigger)):focus-visible {
  color: var(--sf-color-capital-navy);
  text-decoration-thickness: 0.12em;
}

.et_pb_text_4 .et_pb_text_inner a {
    color: var(--gcid-sa0p8cfvdy);
}

.sf-scope :where(.sf-eyebrow, .eyebrow),
.sf-scope .et_pb_module :where(.sf-eyebrow, .eyebrow),
.sf-scope .et_pb_text_inner :where(.sf-eyebrow, .eyebrow) {
	color: var(--sf-eyebrow-color, var(--sf-color-heading));
	font-family: var(--sf-font-eyebrow);
	font-size: var(--sf-type-eyebrow-size);
	font-weight: 700;
	line-height: var(--sf-type-eyebrow-line-height);
	letter-spacing: var(--sf-type-eyebrow-letter-spacing);
	text-transform: uppercase;
}

/* Eyebrow color modifiers can be added to the Divi module or the eyebrow itself. */
.sf-scope :where(.eyebrow-gold, .sf-eyebrow-gold) {
	--sf-eyebrow-color: var(--sf-color-gold-fortune);
}

.sf-scope :where(.eyebrow-granite, .sf-eyebrow-granite) {
	--sf-eyebrow-color: var(--sf-color-exec-granite);
}

.sf-scope :where(.eyebrow-silver, .sf-eyebrow-silver) {
	--sf-eyebrow-color: var(--sf-color-balance-silver);
}

.sf-scope :where(.eyebrow-white, .sf-eyebrow-white) {
	--sf-eyebrow-color: var(--sf-color-surface);
}

.sf-scope :where(.eyebrow-grey, .sf-eyebrow-grey) {
	--sf-eyebrow-color: var(--sf-color-grey);
}


.sf-scope :where(.eyebrow-navy, .sf-eyebrow-navy) {
	--sf-eyebrow-color: var(--sf-color-capital-navy);
}

/* 5. Objects
   Layout patterns with minimal visual styling.
   ========================================================================== */

.sf-o-container {
	width: min(100% - 2rem, var(--sf-container));
	margin-inline: auto;
}

.sf-o-stack > * + * {
	margin-block-start: var(--sf-stack-space, var(--sf-space-4));
}

.sf-o-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sf-cluster-gap, var(--sf-space-4));
	align-items: var(--sf-cluster-align, center);
}

.sf-o-grid {
	display: grid;
	gap: var(--sf-grid-gap, var(--sf-space-5));
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

/* 6. Components
   Concrete UI components belong here.
   ========================================================================== */

.hp-service-img-wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--sf-color-balance-silver);	
	border-radius: var(--sf-radius);
}

.scroll-cue {
	background: none;
	border: none;
	padding: 8px;
	cursor: pointer;
	color: #363636;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.scroll-cue__arrow {
	width: 32px;
	height: 32px;
}

.fancy-service-card-container .hp-service-img-wrapper::before,
.fancy-service-card-container .hp-service-img-wrapper::after {
	content: "";
	position: absolute;
	z-index: 2;
	right: 20px;
	bottom: 20px;
	background: #ffffff;
	pointer-events: none;
	transition: transform var(--sf-transition);
}

.fancy-service-card-container .hp-service-img-wrapper::before {
	width: calc(100% - 40px);
	height: 1px;
	transform: scaleX(0);
	transform-origin: right center;
}

.fancy-service-card-container .hp-service-img-wrapper::after {
	width: 1px;
	height: calc(100% - 40px);
	transform: scaleY(0);
	transform-origin: center bottom;
}

.fancy-service-card-container:hover .hp-service-img-wrapper::before,
.fancy-service-card-container:focus-within .hp-service-img-wrapper::before {
	transform: scaleX(1);
}

.fancy-service-card-container:hover .hp-service-img-wrapper::after,
.fancy-service-card-container:focus-within .hp-service-img-wrapper::after {
	transform: scaleY(1);
}

.hp-service-img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--sf-color-balance-silver);
}

.hp-service-img .et_pb_image_wrap {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	line-height: 0;
}

.hp-service-img .et_pb_image_wrap img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	transform: scale(1);
	transition: transform 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

.fancy-service-card-container:hover .hp-service-img .et_pb_image_wrap img,
.fancy-service-card-container:focus-within .hp-service-img .et_pb_image_wrap img {
	transform: scale(1.06);
}

.hp-service-title {
	margin-block: 0;
	margin-bottom: 0!important;
	margin: 0;
}

.hp-service-copy .et_pb_text_inner > p {
	font-size: 16px;
	line-height: 29px;
}

.sm-h2,
.sf-scope .sm-h2,
.sf-scope .et_pb_module .sm-h2,
.sf-scope .et_pb_text_inner .sm-h2 {
	margin-block: var(--sf-space-4) var(--sf-space-3);
	color: var(--sf-color-exec-granite);
	font-family: var(--sf-font-display);
	font-size: clamp(1.625rem, 1.35rem + 0.75vw, 1.875rem);
	font-style: normal;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0;
}

.giant-h2,
.sf-scope .giant-h2,
.sf-scope .et_pb_module .giant-h2,
.sf-scope .et_pb_text_inner .giant-h2 {
	--sf-giant-h2-baseline-offset: 0.76em;
	color: #e5e5e5;
	font-family: "Cormorant Garamond", var(--sf-font-serif-fallback);
	font-size: clamp(4rem, 18vw, 8.75rem);
	font-style: normal;
	font-weight: 800;
	line-height: 0.88;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

.lg-title-row-hdr,
.sf-scope .lg-title-row-hdr {
	padding-top: 0 !important;
}

.lg-title-row-hdr .giant-h2,
.sf-scope .lg-title-row-hdr .giant-h2,
.sf-scope .lg-title-row-hdr .et_pb_module .giant-h2,
.sf-scope .lg-title-row-hdr .et_pb_text_inner .giant-h2 {
	margin-block-start: calc(var(--sf-giant-h2-baseline-offset) * -1);
	margin-block-end: 0;
}

.sf-gravity-form-override input,
.sf-gravity-form-override select,
.sf-gravity-form-override textarea,
.sf-gravity-form-override button {
	border-radius: 1px !important;
}

.sf-gravity-form-override input:not([type="hidden"]),
.sf-gravity-form-override select,
.sf-gravity-form-override textarea {
	min-height: 48px !important;
}

.sf-gravity-form-override .gform-field-label,
.sf-gravity-form-override .gfield_label {
	color: #595959 !important;
	font-family: "Montserrat", var(--sf-font-sans-fallback) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 21px !important;
	letter-spacing: 2.24px !important;
	text-transform: uppercase !important;
}

/* Update Gravity Forms theme variables inside dark modules */
.dark-bg .gform_wrapper {
  --gf-ctrl-label-color-primary: var(--sf-color-gold-fortune);
  --gf-ctrl-label-color-secondary: var(--sf-color-gold-fortune);
  --gf-ctrl-label-color-tertiary: var(--sf-color-gold-fortune);
}

/* Force gold color on all primary labels, sub-labels, and required text */
.dark-bg .sf-gravity-form-override :is(.gfield_label, .gform-field-label, .gform-field-label--type-sub, .gfield_required) {
  --gf-local-color: var(--sf-color-gold-fortune) !important;
  color: var(--sf-color-gold-fortune) !important;
}

.sf-gravity-form-override .gfield_select {
	display: flex;
	align-items: center;
	cursor: pointer;
}

.sf-gravity-form-override .gform_button,
.sf-gravity-form-override button[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	padding-inline: 1rem !important;
	background-color: var(--sf-color-balance-silver) !important;
	border: 1px solid var(--sf-color-exec-granite) !important;
	color: #363636 !important;
	text-align: center !important;
	font-family: "Montserrat", var(--sf-font-sans-fallback) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 21px !important;
	letter-spacing: 2.24px !important;
	text-transform: uppercase !important;
	min-height: 48px !important;

	&:hover {
		background-color: var(--sf-color-exec-granite) !important;
		color: #ffffff !important;
	}
}

.sf-gravity-form-override .gform_button::after,
.sf-gravity-form-override button[type="submit"]::after {
	content: url("/wp-content/themes/divi-child/icons/noun-right-arrow-2.svg") !important;
	display: inline-block;
	width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	vertical-align: middle;
	transition: transform 180ms ease;
}

.sf-gravity-form-override .gform_button:hover::after,
.sf-gravity-form-override .gform_button:focus-visible::after,
.sf-gravity-form-override button[type="submit"]:hover::after,
.sf-gravity-form-override button[type="submit"]:focus-visible::after {
	transform: translateX(0.3rem);
	filter: brightness(0) invert(1);
}

/* Reusable form CTA styling for standard Divi Button modules.
   Add sf-form-cta to the button's CSS Class field. */
.sf-scope .et_pb_button.sf-form-cta {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	max-width: none !important;
	white-space: nowrap;
	gap: 0.65rem;
	min-height: 48px !important;
	padding-inline: 1rem 1.25rem !important;
	box-sizing: border-box;
	overflow: visible;
	background-color: var(--sf-color-balance-silver) !important;
	border: 1px solid var(--sf-color-exec-granite) !important;
	border-radius: 1px !important;
	color: var(--sf-color-exec-granite) !important;
	text-align: center !important;
	font-family: "Montserrat", var(--sf-font-sans-fallback) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 21px !important;
	letter-spacing: 2.24px !important;
	text-transform: uppercase !important;
}

.sf-scope .et_pb_button.sf-form-cta:hover,
.sf-scope .et_pb_button.sf-form-cta:focus-visible {
	background-color: var(--sf-color-exec-granite) !important;
	color: #ffffff !important;
}

.sf-scope .et_pb_button.sf-form-cta::after {
	content: url("/wp-content/themes/divi-child/icons/noun-right-arrow-2.svg") !important;
	position: static !important;
	display: block !important;
	flex: 0 0 20px;
	flex-direction: row !important;
	align-self: center;
	width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	line-height: 0 !important;
	vertical-align: middle;
	transform: none;
	transition: transform 180ms ease;
}

.sf-scope .et_pb_button.sf-form-cta:hover::after,
.sf-scope .et_pb_button.sf-form-cta:focus-visible::after {
	transform: translateX(0.3rem);
	filter: brightness(0) invert(1);
}

.text-link-read-more {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent;
	border: 0;
}

.text-link-read-more .et_pb_text_inner > p {
	margin: 0;
	padding: 0;
}

.text-link-read-more .read-more-link,
a.text-link-read-more,
a.sf-arrow-link,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger {
	--sf-read-more-arrow-x: 0px;
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding-block: 7px;
	padding-inline-end: 0.55rem;
	overflow: visible;
	color: var(--sf-color-exec-granite);
	font-family: var(--sf-font-eyebrow);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.12em;
	text-decoration: none;
	text-transform: uppercase;
	min-height: 56px;
}

.text-link-read-more .read-more-link,
a.text-link-read-more,
.text-link-read-more .read-more-link:hover,
.text-link-read-more .read-more-link:focus,
.text-link-read-more .read-more-link:focus-visible,
a.text-link-read-more:hover,
a.text-link-read-more:focus,
a.text-link-read-more:focus-visible {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.text-link-read-more .read-more-link::before,
a.text-link-read-more::before,
a.sf-arrow-link::before,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger::before {
	content: url("/wp-content/themes/divi-child/icons/noun-right-arrow-2.svg") !important;
	order: 2;
	margin-inline-start: 0.1rem;
	width: 20px !important;
	max-width: 20px !important;
	height: 20px !important;
	vertical-align: middle;
	transform: translateX(var(--sf-read-more-arrow-x));
	transition: transform 180ms ease;
}

a.sf-arrow-link:hover::before,
a.sf-arrow-link:focus-visible::before,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:hover::before,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:focus-visible::before {
	transform: translateX(0.3rem);
}

a.sf-arrow-link,
a.sf-arrow-link:visited,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:visited {
	color: var(--sf-color-capital-navy);
}

a.sf-arrow-link:hover,
a.sf-arrow-link:focus-visible,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:hover,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:focus-visible {
	color: var(--sf-color-capital-navy);
}

.sf-tab-module .et_pb_tab_content a.connect-popup-trigger {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:hover,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:focus,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:focus-visible,
.sf-tab-module .et_pb_tab_content a.connect-popup-trigger:visited {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.sf-read-more-motion {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	display: block;
	pointer-events: none;
}

.sf-read-more-motion path {
	fill: none;
	stroke: currentColor;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
	stroke-linecap: butt;
	transform-box: fill-box;
}

.sf-read-more-motion__top {
	display: none;
}

.sf-c-card {
	padding: var(--sf-space-5);
	background: var(--sf-color-surface);
	border: 1px solid var(--sf-color-border);
	border-radius: var(--sf-radius);
}

.contact-info__row {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}

.contact-info__row dt {
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

.contact-info__row dd {
	margin: 0;
}

.contact-info__row address {
	font-style: normal;
}

@media screen and (max-width: 480px) {
	.contact-info__row {
		flex-direction: column;
		gap: 4px;
	}
}

[data-reveal="vault"],
[data-reveal="vault-fast"],
[data-reveal="vault-center"] {
	position: relative;
}

[data-reveal="vault-center"],
[data-reveal="vault-center"] :is(h1, h2, h3, h4, h5, h6, p) {
	display: block;
	width: 100%;
	text-align: center !important;
}

[data-reveal="vault-center"][data-words],
[data-reveal="vault-center"][data-markets] {
	/* This typewriter must paint its cursor and partial text before
	   .is-revealed; the site's general reveal rule hides the whole heading. */
	opacity: 1 !important;
	visibility: visible !important;
	color: transparent !important;
}

[data-reveal="vault-center"].is-vault-typewriter-ready {
	color: var(--sf-color-heading) !important;
}

[data-reveal="vault-center"][data-words]::after,
[data-reveal="vault-center"][data-markets]::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.08em;
	height: 0.9em;
	background: var(--sf-color-heading);
	transform: translate(-50%, -42%);
	visibility: visible;
	pointer-events: none;
	animation: sf-typewriter-caret 1s steps(1, end) infinite;
}

[data-reveal="vault-center"].is-vault-typewriter-ready::after {
	content: none;
}

.et_pb_text:has([data-reveal="vault-center"]),
.et_pb_text_inner:has([data-reveal="vault-center"]) {
	text-align: center !important;
}

.sf-vault-typewriter-slot {
	display: inline-block;
	min-inline-size: var(--sf-dynamic-word-width, 6.8em);
	vertical-align: baseline;
	text-align: center;
	line-height: inherit;
	white-space: nowrap;
}

.sf-vault-typewriter-slot::after {
	content: "";
	display: inline-block;
	width: 0.08em;
	height: 0.9em;
	margin-inline-start: 0.08em;
	background: currentColor;
	transform: translateY(0.08em);
	animation: sf-typewriter-caret 1s steps(1, end) infinite;
}

.sf-vault-typewriter-entrance {
	display: inline-block;
	min-inline-size: var(--sf-vault-entrance-width, 10em);
	line-height: inherit;
	text-align: center;
	white-space: nowrap;
}

.sf-vault-typewriter-entrance::after {
	content: "";
	display: inline-block;
	width: 0.08em;
	height: 0.9em;
	margin-inline-start: 0.08em;
	background: var(--sf-color-heading);
	transform: translateY(0.08em);
	opacity: 1;
}

.sf-vault-typewriter-entrance::after {
	animation: sf-typewriter-caret 1s steps(1, end) infinite;
}

.sf-reveal-line,
.sf-reveal-char {
	line-height: inherit;
	overflow: visible;
}

.sf-reveal-char-split,
.sf-reveal-char {
	font-kerning: none;
	font-variant-ligatures: none;
}

.sf-reveal-char-split {
	white-space: normal;
}

.sf-reveal-word {
	display: inline-block;
	white-space: nowrap;
	vertical-align: baseline;
}

.sf-reveal-char-split[data-reveal="vault"],
.sf-reveal-char-split[data-reveal="vault-fast"],
.sf-reveal-char-split[data-reveal="vault-center"],
.sf-scope .sf-reveal-char-split[data-reveal="vault"],
.sf-scope .sf-reveal-char-split[data-reveal="vault-fast"],
.sf-scope .sf-reveal-char-split[data-reveal="vault-center"] {
	letter-spacing: -0.04em !important;
}

.sf-reveal-char-split[data-reveal="vault"] .sf-reveal-char,
.sf-reveal-char-split[data-reveal="vault-fast"] .sf-reveal-char,
.sf-reveal-char-split[data-reveal="vault-center"] .sf-reveal-char,
.sf-scope .sf-reveal-char-split[data-reveal="vault"] .sf-reveal-char,
.sf-scope .sf-reveal-char-split[data-reveal="vault-fast"] .sf-reveal-char,
.sf-scope .sf-reveal-char-split[data-reveal="vault-center"] .sf-reveal-char {
	letter-spacing: -0.72px !important;
}

.sf-reveal-line {
	display: block;
	will-change: transform, opacity;
}

[data-reveal="quick-up"] {
	will-change: transform, opacity, mask-position;
}

.sf-reveal-char {
	display: inline-block;
	transform-origin: 50% 100%;
	will-change: clip-path;
}

.is-revealed .sf-reveal-char {
	clip-path: inset(0 0 0 0);
}

.is-revealed[data-reveal="vault"] .sf-reveal-char,
.is-revealed[data-reveal="vault-fast"] .sf-reveal-char,
.is-revealed[data-reveal="vault-center"] .sf-reveal-char {
	clip-path: inset(-0.12em 0 -0.12em 0);
}

.hp-dynamic-word {
	display: inline-block;
	min-inline-size: var(--hp-dynamic-word-width, 6.8em);
	line-height: inherit;
	vertical-align: baseline;
	white-space: nowrap;
}

.sf-hp-masthead-section,
.sf-hp-masthead-section :where(*),
.sf-scope .sf-hp-masthead-section,
.sf-scope .sf-hp-masthead-section :where(*) {
	/* Prevent Divi's default module transitions from shifting the first viewport. */
	transition: none !important;
}

.sf-hp-masthead-section {
	overflow: hidden;
}


.et_pb_text_inner:has(.hp-h1-ani-type) {
	container-type: inline-size;
}

.hp-h1-ani-type,
.sf-scope :where(.hp-h1-ani-type),
.sf-scope .et_pb_module :where(.hp-h1-ani-type),
.sf-scope .et_pb_text_inner :where(.hp-h1-ani-type) {
	--hp-masthead-max-size:12rem;
	color: var(--sf-color-exec-granite);
	font-family: var(--sf-font-display);
	font-size: var(--hp-masthead-fit-size, clamp(5rem, 8.8cqi, var(--hp-masthead-max-size)));
	font-style: normal;
	font-weight: var(--sf-font-display-weight-max);
	line-height: 0.95;
	letter-spacing: var(--sf-type-display-letter-spacing);
	min-height: 2.9lh;
	text-wrap: balance;
}

body:not(.et-fb):not(.et-bfb) .hp-h1-ani-type {
	visibility: hidden;
}

html:not(.sf-h1-ready) .hp-h1-ani-type {
	opacity: 0 !important;
	visibility: hidden !important;
}

body:not(.et-fb):not(.et-bfb) .hp-h1-ani-type.is-masthead-size-ready {
	visibility: visible;
}

html.sf-h1-ready .hp-h1-ani-type.is-masthead-size-ready {
	visibility: visible;
}

.hp-h1-ani-type .hp-dynamic-word {
	color: inherit;
	font-family: var(--sf-font-display);
	font-style: italic;
	font-weight: inherit;
}

.hp-typewriter-phrase {
	display: inline;
}

@media (min-width: 981px) {
	.hp-typewriter-phrase {
		white-space: nowrap;
	}
}

@supports not (font-size: 1cqi) {
	.hp-h1-ani-type,
	.sf-scope :where(.hp-h1-ani-type),
	.sf-scope .et_pb_module :where(.hp-h1-ani-type),
	.sf-scope .et_pb_text_inner :where(.hp-h1-ani-type) {
		font-size: var(--hp-masthead-fit-size, clamp(5rem, 6.2vw, var(--hp-masthead-max-size)));
	}
}

.hp-h1-ani-type.is-typewriter-ready .hp-dynamic-word::after {
	content: "";
	display: inline-block;
	width: 0.08em;
	height: 0.9em;
	margin-inline-start: 0.08em;
	background: currentColor;
	transform: translateY(0.08em);
	animation: sf-typewriter-caret 1s steps(1, end) infinite;
}

body.mobile-menu-open :is(.hp-dynamic-word, .sf-vault-typewriter-slot, .sf-vault-typewriter-entrance, [data-reveal="vault-center"])::after {
	animation-play-state: paused !important;
}

@keyframes sf-typewriter-caret {
	0%,
	49% {
		opacity: 1;
	}

	50%,
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hp-h1-ani-type.is-typewriter-ready .hp-dynamic-word::after {
		animation: none;
	}
}

/* 7. Helpers
   Single-purpose helper classes for repeated project patterns.
   ========================================================================== */

.sf-h-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sf-h-skip-link {
	position: absolute;
	z-index: 100000;
	top: var(--sf-space-3);
	left: var(--sf-space-3);
	padding: var(--sf-space-2) var(--sf-space-4);
	background: var(--sf-color-surface);
	color: var(--sf-color-heading);
	border: 1px solid var(--sf-color-border);
	border-radius: var(--sf-radius);
	transform: translateY(-150%);
	transition: transform var(--sf-transition);
}

.sf-h-skip-link:focus {
	transform: translateY(0);
}

.card-line-gold {
	position: relative;
}

.card-line-gold::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 24px;
	height: 2px;
	background: var(--sf-color-gold-fortune);
	pointer-events: none;
}

.eyebrow-corner-wrapper {
	position: relative;
	padding-block-start: var(--sf-gutter);
	padding-inline-start: var(--sf-gutter);
	--sf-corner-color: transparent;
	--sf-corner-size: 90px;
	--sf-corner-width: 1px;
	--sf-corner-radius: 1px;
}

.eyebrow-corner-wrapper.border-gold {
	--sf-corner-color: var(--sf-color-gold-fortune);
}

.eyebrow-corner-wrapper.border-granite {
	--sf-corner-color: var(--sf-color-exec-granite);
}

.eyebrow-corner-wrapper::before,
.eyebrow-corner-wrapper::after {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	background: var(--sf-corner-color);
	pointer-events: none;
}

.eyebrow-corner-wrapper::before {
	width: var(--sf-corner-size);
	height: var(--sf-corner-width);
	border-start-start-radius: var(--sf-corner-radius);
	transform-origin: left center;
}

.eyebrow-corner-wrapper::after {
	width: var(--sf-corner-width);
	height: var(--sf-corner-size);
	border-start-start-radius: var(--sf-corner-radius);
	transform-origin: center top;
}

.eyebrow-corner-wrapper.is-corner-ready::before {
	transform: scaleX(0);
}

.eyebrow-corner-wrapper.is-corner-ready::after {
	transform: scaleY(0);
}

.eyebrow-corner-wrapper.is-corner-drawn::before {
	animation: sf-corner-draw-top var(--sf-motion-entrance-duration) var(--sf-motion-entrance-ease) forwards;
}

.eyebrow-corner-wrapper.is-corner-drawn::after {
	animation: sf-corner-draw-left var(--sf-motion-entrance-duration) var(--sf-motion-entrance-ease) forwards;
}

@keyframes sf-corner-draw-top {
	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

@keyframes sf-corner-draw-left {
	from {
		transform: scaleY(0);
	}

	to {
		transform: scaleY(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.eyebrow-corner-wrapper.is-corner-ready::before,
	.eyebrow-corner-wrapper.is-corner-ready::after,
	.eyebrow-corner-wrapper.is-corner-drawn::before,
	.eyebrow-corner-wrapper.is-corner-drawn::after {
		animation: none;
		transform: none;
	}
}

.eyebrow-corner-wrapper > span.eyebrow {
	display: inline-block;
}

.sf-scope .eyebrow-corner-wrapper ~ .et_pb_module {
	padding-inline-start: var(--sf-gutter);
}

.eyebrow-center-wrapper {
	position: relative;
	padding-block-end: var(--sf-gutter);
	text-align: center;
	--sf-center-color: transparent;
	--sf-center-size: 90px;
	--sf-center-width: 1px;
	--sf-center-radius: 1px;
}

.eyebrow-center-wrapper.border-gold {
	--sf-center-color: var(--sf-color-gold-fortune);
}

.eyebrow-center-wrapper.border-granite {
	--sf-center-color: var(--sf-color-exec-granite);
}

.eyebrow-center-wrapper::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	left: 50%;
	width: var(--sf-center-size);
	height: var(--sf-center-width);
	border-radius: var(--sf-center-radius);
	background: var(--sf-center-color);
	transform: translateX(-50%);
	pointer-events: none;
}

.eyebrow-center-wrapper > span.eyebrow {
	display: inline-block;
}

/* 8. Utilities
   Explicit overrides. Keep utilities small, predictable, and namespaced.
   ========================================================================== */

.left-custom-gutter {
	padding-inline-start: var(--sf-gutter) !important;
}

@media (max-width: 981px) {
  .left-custom-gutter.mobile-no-pad {
    padding-inline-start: 0 !important;
  }
}

.sf-u-text-center {
	text-align: center !important;
}

.sf-u-text-muted {
	color: var(--sf-color-muted) !important;
}

.sf-u-text-white-85 {
	color: var(--sf-color-prospectus-white-85) !important;
}

.sf-u-m-0 {
	margin: 0 !important;
}

.sf-u-mt-0 {
	margin-block-start: 0 !important;
}

.sf-u-mb-0 {
	margin-block-end: 0 !important;
}

.sf-u-mb-4 {
	margin-block-end: var(--sf-space-4) !important;
}

.sf-u-mb-6 {
	margin-block-end: var(--sf-space-6) !important;
}

.sf-u-p-0 {
	padding: 0 !important;
}

.sf-u-hidden {
	display: none !important;
}

.lg-sup {
	position: relative;
	top: -0.5em;
	font-size: 0.5em;
	line-height: 0;
	vertical-align: baseline;
}

.sf-display-flex {
	display: flex;
    align-items: center;
}

/* 9. GP Popups
   Parent overlay and dialog styles. Form styles live in the popup iframe.
   ========================================================================== */

.gp-popup__backdrop {
	background: rgba(20, 24, 25, 0.72) !important;
	backdrop-filter: blur(4px);
}

.gp-popup__dialog {
	border: 1px solid rgba(54, 54, 54, 0.14) !important;
	border-radius: 1px !important;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}
