/* ==========================================================================
   GENERATED FILE — do not edit.

   Produced by tools/build-integration.php from:
     - assets/css/integration-base.css  (handwritten integration layer)
     - assets/css/hevel.css             (design system)

   Re-run `php tools/build-integration.php` after changing either input.
   ========================================================================== */

/* ==========================================================================
   Hevel — Astra + Elementor integration layer (handwritten part)

   assets/css/hevel.css is the design system, ported verbatim from the static
   build. It assumes clean markup. Astra and Elementor both add wrapper
   elements around that markup, so this file:

     1. strips Astra's page chrome and width constraints,
     2. neutralises Elementor's container box model where our own CSS owns it,
     3. makes Elementor widget wrappers transparent so parent/child layout
        rules (grid items, height:100% images, absolute positioning) still
        resolve against the element the design system expects.

   Do not edit assets/css/integration.css directly — it is generated from this
   file by tools/build-integration.php. Run that script after changing either
   this file or hevel.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Astra chrome
   -------------------------------------------------------------------------- */

body,
.ast-separate-container,
.ast-plain-container {
	background: var(--bg-dark);
	color: var(--white);
}

/* Astra sets a 1.65 body line-height. The static build inherits `normal`, and
   several elements (footer links, contact lines, the numbered card headers)
   size themselves from it, so the design's baseline is restored here. */
body {
	line-height: normal;
}

/* Every layout is full-bleed; the design system supplies its own gutters. */
.ast-container,
.ast-separate-container .ast-article-single,
.ast-separate-container #primary,
.site-content > .ast-container,
#primary,
#content .ast-container {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.ast-separate-container .ast-article-single {
	background: transparent;
	border: 0;
	box-shadow: none;
}

.site-content #primary {
	margin: 0;
	padding: 0;
}

/* Astra's own header/footer are replaced by Elementor theme-builder parts. */
.ast-above-header-wrap,
.ast-main-header-wrap,
.ast-below-header-wrap,
.site-footer .ast-small-footer,
.ast-scroll-top {
	display: none;
}

/* --------------------------------------------------------------------------
   2. Elementor container box model

   `hv-raw` marks a container whose size, padding and gaps belong to the
   design system rather than to Elementor's own controls. Display is left
   alone here — the generated half of this stylesheet re-asserts the real
   grid/flex values at `.e-con` specificity.
   -------------------------------------------------------------------------- */

.e-con.hv-raw,
.e-con.hv-raw > .e-con-inner {
	/* Elementor defaults containers to `width:100%`. The design system's
	   elements are plain `<div>`s, so their default is `auto` — full width as a
	   block, but content-sized as a flex item (`.footer-legal`, `.touch-left`).
	   Containers that really are 100% say so, and the generated rules below
	   restore those. */
	--width: auto;
	--content-width: auto;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-right: 0px;
	--margin-bottom: 0px;
	--margin-left: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;

	/* Elementor makes every container a flex box. In the design these are plain
	   `<div>`s, and several sections depend on block behaviour — most visibly
	   margin collapsing between a paragraph and the block after it. Containers
	   the design does lay out as flex or grid say so, and the generated rules
	   below restore that at the same specificity, later in the file. */
	display: block;
}

/* Elementor gives every container `min-width:0`; several of our absolutely
   positioned decorations need the container to be a positioning context. */
.e-con.hv-raw {
	min-width: 0;
}

/* --------------------------------------------------------------------------
   3. Transparent widget wrappers

   `hv-passthrough` removes a widget's wrapper boxes from the layout tree so
   the inner element becomes the direct grid/flex/positioned child that
   hevel.css targets (e.g. `.ceiling-card img { height:100% }`).
   -------------------------------------------------------------------------- */

.elementor-widget.hv-passthrough,
.elementor-widget.hv-passthrough > .elementor-widget-container,
.elementor-widget.hv-passthrough > .elementor-widget-container > .elementor-image,
.elementor-widget.hv-passthrough > .elementor-widget-container > figure,
.elementor-widget.hv-passthrough > .elementor-widget-container > .elementor-text-editor,
.elementor-widget.hv-passthrough > .elementor-widget-container > .elementor-button-wrapper,

/* A loop card's featured image is wrapped in a link to the post, and that
   inline `<a>` adds a few pixels of line box under the picture. Scoped to the
   featured-image widget: the logo's own link is laid out as the design expects
   and must keep its box. */
.elementor-widget-theme-post-featured-image.hv-passthrough > a,
.elementor-widget-theme-post-featured-image.hv-passthrough > .elementor-widget-container > a {
	display: contents;
}

/* Insight filter tab order.

   Elementor lists the categories alphabetically and puts its "All" button last.
   The design's order is editorial, and WordPress has no built-in way to sort
   terms, so the bar (a flex row) is ordered here by category slug.

   Anything not listed keeps order 90, so a category the client adds later
   appears after these rather than in the middle of them. */
.hv-insight-tabs .e-filter-item {
	order: 90;
}

.hv-insight-tabs .e-filter-item[data-filter="__all"] {
	order: 0;
}

.hv-insight-tabs .e-filter-item[data-filter="ma-sale-leasebacks"] {
	order: 1;
}

.hv-insight-tabs .e-filter-item[data-filter="c-store-insights"] {
	order: 2;
}

.hv-insight-tabs .e-filter-item[data-filter="white-papers"] {
	order: 3;
}

.hv-insight-tabs .e-filter-item[data-filter="market-intelligence"] {
	order: 4;
}

/* Elementor wraps every loop result in `.e-loop-item`. Removing that box makes
   the card itself the grid item, which is what `.insight-grid` expects. */
.hv-insight-grid .elementor-loop-container > .e-loop-item {
	display: contents;
}

/* Widgets keep their own spacing from the design system, never from Elementor. */
.elementor-widget.hv-raw,
.elementor-widget.hv-raw > .elementor-widget-container {
	margin: 0;
	padding: 0;
}

/* Elementor's image widget adds its own constraints. */
.elementor-widget-image img,
.elementor-widget-theme-post-featured-image img {
	max-width: none;
	border-radius: inherit;
}

/* --------------------------------------------------------------------------
   3b. Who owns the typography

   Astra prints heading styles as
   `.elementor-widget-heading h2.elementor-heading-title { ... }`, which
   outranks a plain `.ceiling-heading` on the widget wrapper. Where the wrapper
   carries a design-system class (`hv-own`), the element inside it must simply
   inherit — the doubled class is there to clear Astra's specificity.

   Transparent widgets are left alone: their inner element is styled directly
   by the design system, re-asserted at `.e-con` level in the generated half of
   this file.
   -------------------------------------------------------------------------- */

/* Baseline: an Elementor heading takes its type from whatever contains it,
   rather than from Astra's `.elementor-widget-heading h2.elementor-heading-title`
   rules. The generated half of this file then re-applies the design system's
   own values at a higher specificity where it defines them. The class is
   doubled purely to clear Astra's. */
.elementor-widget-heading .elementor-heading-title.elementor-heading-title {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
	margin: 0;
}

.elementor-widget.hv-own .elementor-heading-title.elementor-heading-title,
.elementor-widget.hv-own > .elementor-widget-container > * {
	font: inherit;
	color: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-align: inherit;
	margin: 0;
}

/* Elementor sets `line-height: 1` on buttons. The design's `.btn` leaves it at
   `normal` and only some variants set a value, which the generated aliases
   re-apply at a higher specificity. Without this the outline and submit
   buttons come out 2px short. */
.elementor-button.elementor-button {
	line-height: normal;
}

/* In the design the label and the arrow sit directly in the button as flex
   children with an 8px gap. Elementor nests both inside a
   `.elementor-button-text` span, so the gap is re-created there. */
.elementor-button .elementor-button-text {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* --------------------------------------------------------------------------
   3d. Newsletter form row

   The design is one row: a flexible input and a button, 14px apart. Elementor
   sizes each field with percentage column classes and a 7px gutter, which does
   not produce that. The generated aliases turn
   `.elementor-form-fields-wrapper` into the flex row; these rules stop the
   column widths and gutters from fighting it.
   -------------------------------------------------------------------------- */

/* Elementor offsets the wrapper by its column gutter; the design's row has no
   gutter, so the offset would shift the whole form 7px left. */
.hv-newsletter-form .elementor-form-fields-wrapper {
	margin: 0;
}

.hv-newsletter-form .elementor-field-group {
	width: auto;
	max-width: none;
	padding: 0;
}

.hv-newsletter-form .elementor-field-type-email {
	flex: 1 1 auto;
}

.hv-newsletter-form .elementor-field-type-submit {
	flex: 0 0 auto;
}

/* Astra sets a fixed `height` and a 1.65 line-height on form controls. The
   design sizes its fields from padding alone, with the browser's default
   line-height. */
.hv-newsletter-form .elementor-field-textual,
.hv-contact-form .elementor-field-textual {
	width: 100%;
	height: auto;
	line-height: normal;
}

/* `.newsletter-form` stretches its children, so in the design the input is as
   tall as the button beside it. Elementor nests the input one level deeper, so
   it has to be told to fill the group the row stretched. */
.hv-newsletter-form .elementor-field-textual {
	height: 100%;
}

/* Field labels pick up Astra's 1.65 line-height too, which adds a few pixels to
   every row of the contact form. */
.hv-contact-form .elementor-field-group > label,
.hv-newsletter-form .elementor-field-group > label {
	line-height: normal;
}

/* The "I am a" pills. Elementor insets each radio option by 10px, which would
   stop the pill filling its grid column, and gives its label Astra's
   line-height. In the design the pill is the whole cell. */
.hv-contact-form .elementor-field-type-radio .elementor-field-option {
	padding: 0;
}

.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label {
	line-height: normal;
}

/* The newsletter link is a button widget so its URL stays editable; Elementor's
   button chrome is removed so it renders as the plain gold text link designed. */
.hv-footer-subscribe .elementor-button.elementor-button {
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;

	/* It is a plain link in the design, not a `.btn`, so it does not pick up
	   the 500 weight Elementor gives its buttons. */
	font-weight: 400;
}

/* Paragraph spacing inside a rich-text block. */
.elementor-widget-text-editor p + p {
	margin-top: 1em;
}

/* Elementor spaces widgets apart with the *logical* `margin-block-end`. Logical
   and physical margins cascade as one, so that rule silently beats the design
   system's `margin-bottom` unless it is cancelled.

   The selector deliberately matches Elementor's own exactly: being later in the
   cascade is enough to win, while staying low enough for the generated rules
   further down this file to set real margins on individual widgets. */
.elementor-widget:not(:last-child) {
	margin-block-end: 0;
}

/* hevel.css opens with `* { margin: 0; padding: 0 }`, but that loses to Astra's
   element-level rules (`ol, ul { margin: 0 0 1.5em 3em }`, `blockquote`, and
   the heading scale). The reset is re-asserted here for the elements Astra
   restyles.

   Deliberately kept at element specificity: it only needs to beat Astra (this
   file loads later), and staying that low means a design-system class on the
   same element — `.checklist { margin-top: 24px }` — still wins. */
address,
blockquote,
dd,
dl,
fieldset,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
ul {
	margin: 0;
	padding: 0;
}

ul,
ol {
	list-style: none;
}

/* --------------------------------------------------------------------------
   3c. Article → CTA spacing on single Insights

   The design tightens the gap between an article and the CTA banner after it:

     .article-section + .touch-section--spaced { padding-top: 0 }
     .article-section:has(+ .touch-section--spaced) { padding-bottom: 56px }

   Those rely on the two being siblings. Under the Theme Builder the article is
   rendered inside the Post Content widget, one level deeper, so neither
   selector can match. These reproduce the same result for that structure.
   (The Insights archive needs no equivalent — there the list and the CTA really
   are siblings, so the original rules still apply.)
   -------------------------------------------------------------------------- */

.elementor .elementor-widget-theme-post-content + .e-con.touch-section--spaced {
	padding-top: 0;
}

.elementor .elementor-widget-theme-post-content:has(+ .e-con.touch-section--spaced) .e-con.article-section {
	padding-bottom: 56px;
}

/* --------------------------------------------------------------------------
   4. Theme-builder header overlay

   In the static build the navbar sits inside the hero, so the hero background
   shows through it. As a theme-builder part it is now a sibling, so it is
   pulled back over the hero and the hero reclaims the 84px it occupied.
   -------------------------------------------------------------------------- */

.hv-site-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
}

.hv-site-header .e-con-inner {
	padding: 0;
}

/* The hero reclaims the 84px the navbar used to occupy inside it. The value
   mirrors `.navbar { height: 84px }` in hevel.css — keep the two in step.

   Has to outrank `.e-con.hv-raw { padding: 0 }` above, hence the `.e-con`. */
.e-con.hero-section,
.e-con.breadcrumb-section {
	padding-top: 84px;
}

/* Below 640px the design wraps the navbar onto two rows, so its height depends
   on its contents and no fixed offset is safe. The header stops overlapping and
   simply sits above the hero; the strip of background it covered is not worth
   an overlap risk on a phone. */
@media (max-width: 640px) {
	.hv-site-header {
		position: static;
	}

	.e-con.hero-section,
	.e-con.breadcrumb-section {
		padding-top: 0;
	}
}

/* --------------------------------------------------------------------------
   5. Navigation
   -------------------------------------------------------------------------- */

/* The nav menu's own wrappers are removed so its `<ul>` becomes a direct flex
   child of `.navbar`. The design reorders that list below 640px
   (`.nav-links { order: 3; width: 100% }`) to wrap it onto its own row, which
   only works if the list itself is the flex item. */
.elementor-widget.elementor-widget.hv-nav,
.elementor-widget.hv-nav > .elementor-widget-container,
.elementor-widget.hv-nav .elementor-nav-menu--main {
	display: contents;
}

/* --------------------------------------------------------------------------
   6. Editor canvas

   Inside Elementor the hero is not the first element on the page, so the
   negative-margin overlay above would hide the navbar behind the toolbar.
   -------------------------------------------------------------------------- */

.elementor-editor-active .hv-site-header {
	position: relative;
}

/* Empty decorative containers stay visible/selectable while editing. */
.elementor-editor-active .hero-guides,
.elementor-editor-active .breadcrumb-guides,
.elementor-editor-active .touch-lines,
.elementor-editor-active .footer-lines,
.elementor-editor-active .whycs-lines {
	pointer-events: none;
}


/* ==========================================================================
   Generated section.

   Two kinds of rule are emitted here:

   1. Layout re-asserted at Elementor specificity. Elementor's own `.e-con` /
      `.elementor-widget` rules would otherwise beat the plain class selectors
      in hevel.css. Only layout properties are copied; colour, typography and
      borders still come from hevel.css alone.

   2. Aliases for widgets that render their own markup (Button, Nav Menu).
      A design-system class cannot be attached to those, so their full styles
      are copied onto the selectors Elementor actually outputs.

   Media queries are preserved in both cases, so responsive behaviour follows.
   ========================================================================== */

.hv-btn-primary .elementor-button.elementor-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:8px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	background:var(--white);
	color:var(--navy);
	padding:12px 20px;
	font-size:18px;
	line-height:24px;
	letter-spacing:-0.1px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-btn-primary .elementor-button.elementor-button:hover {
	opacity:.85;
}

.hv-btn-primary .arrow {
	font-size:18px;
}

.hv-btn-contact .elementor-button.elementor-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:8px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	background:#ededed;
	color:var(--navy);
	padding:10px 16px;
	font-size:16px;
	line-height:20px;
	letter-spacing:-0.2px;
	border:1px solid rgba(255,255,255,0.2);
	backdrop-filter:blur(12.5px);
	box-shadow:0 17px 2.5px rgba(0,0,0,0),0 11px 2px rgba(0,0,0,0.01),0 6px 2px rgba(0,0,0,0.03),0 3px 1.5px rgba(0,0,0,0.04),0 1px 1px rgba(0,0,0,0.05);
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-btn-contact .elementor-button.elementor-button:hover {
	opacity:.85;
}

.hv-btn-outline .elementor-button.elementor-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:6px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	background:#ffffff;
	color:var(--navy);
	border:1px solid #e2e0dc;
	padding:12px 20px;
	font-size:14.5px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-btn-outline .elementor-button.elementor-button:hover {
	opacity:.85;
}

.hv-btn-send .elementor-button.elementor-button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:6px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	align-self:flex-start;
	background:var(--navy);
	color:#ffffff;
	border:none;
	padding:14px 22px;
	font-family:'Inter', sans-serif;
	font-size:14.5px;
	cursor:pointer;
	margin-top:4px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-btn-send .elementor-button.elementor-button:hover {
	opacity:.85;
}

.touch-left .hv-btn-primary .elementor-button.elementor-button {
	padding:15px 26px;
	font-size:19px;
}

.hv-page-contact .hv-btn-contact .elementor-button.elementor-button {
	background:#2f6fd0;
	color:#ffffff;
	border-color:rgba(255,255,255,0.28);
}

.hv-nav .elementor-nav-menu {
	display:flex;
	align-items:center;
	gap:4px;
	height:48px;
	padding:0 10px;
	border-radius:8px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.hv-nav .elementor-nav-menu li a {
	display:flex;
	align-items:center;
	justify-content:center;
	height:48px;
	padding:4px 16px;
	border-radius:16px;
	font-weight:500;
	font-size:16px;
	letter-spacing:0.1px;
	color:#d6d6d6;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-nav .elementor-nav-menu li a.elementor-item-active {
	color:#86b3fe;
}

.hv-footer-subscribe .elementor-button.elementor-button {
	display:inline-block;
	margin-top:20px;
	font-size:14px;
	color:#d3ad78;
	transition:opacity .2s ease;
}

.hv-contact-form .elementor-field-group {
	display:flex;
	flex-direction:column;
	margin-bottom:24px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.hv-contact-form .elementor-field-group > label {
	font-size:12.5px;
	font-weight:600;
	color:var(--navy);
	margin-bottom:8px;
}

.hv-contact-form .elementor-field-textual {
	font-family:'Inter', sans-serif;
	font-size:14px;
	color:var(--navy);
	background:#ffffff;
	border:1px solid #e2e0dc;
	border-radius:6px;
	padding:13px 16px;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
}

.hv-contact-form textarea.elementor-field-textual {
	font-family:'Inter', sans-serif;
	font-size:14px;
	color:var(--navy);
	background:#ffffff;
	border:1px solid #e2e0dc;
	border-radius:6px;
	padding:13px 16px;
	outline:none;
	transition:border-color .2s ease, box-shadow .2s ease;
	resize:vertical;
	min-height:110px;
	line-height:1.6;
}

.hv-contact-form .elementor-field-textual::placeholder {
	color:#a7abb1;
}

.hv-contact-form .elementor-field-textual:focus {
	border-color:#e07a1f;
	box-shadow:0 0 0 3px rgba(224,122,31,0.12);
}

.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:16px;
}

.hv-contact-form .elementor-field-type-radio .elementor-field-option {
	position:relative;
	display:block;
	cursor:pointer;
}

.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input {
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option label {
	display:flex;
	align-items:center;
	justify-content:center;
	padding:12px 16px;
	font-size:14px;
	color:var(--navy);
	background:#ffffff;
	border:1px solid #e2e0dc;
	border-radius:999px;
	transition:border-color .2s ease, color .2s ease;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup .elementor-field-option input:checked + label {
	border-color:#e07a1f;
	color:#e07a1f;
}

.hv-contact-form .elementor-button[type="submit"] {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:6px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	align-self:flex-start;
	background:var(--navy);
	color:#ffffff;
	border:none;
	padding:14px 22px;
	font-family:'Inter', sans-serif;
	font-size:14.5px;
	cursor:pointer;
	margin-top:4px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-newsletter-form .elementor-form-fields-wrapper {
	display:flex;
	align-items:stretch;
	gap:14px;
	max-width:520px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.hv-newsletter-form .elementor-field-textual {
	flex:1;
	font-family:'Inter', sans-serif;
	font-size:14.5px;
	color:#ffffff;
	background:rgba(255,255,255,0.08);
	border:1px solid rgba(255,255,255,0.18);
	border-radius:6px;
	padding:14px 18px;
	outline:none;
	transition:border-color .2s ease, background .2s ease;
}

.hv-newsletter-form .elementor-field-textual::placeholder {
	color:rgba(255,255,255,0.55);
}

.hv-newsletter-form .elementor-field-textual:focus {
	border-color:rgba(211,173,120,0.7);
	background:rgba(255,255,255,0.12);
}

.hv-newsletter-form .elementor-button[type="submit"] {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	border-radius:8px;
	font-weight:500;
	white-space:nowrap;
	transition:opacity .2s ease;
	background:var(--white);
	color:var(--navy);
	padding:14px 22px;
	font-size:15px;
	line-height:24px;
	letter-spacing:-0.1px;
	border:none;
	cursor:pointer;
	font-family:'Inter', sans-serif;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.hv-newsletter-form .arrow {
	font-size:18px;
}

.hv-insight-grid .elementor-loop-container {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px;
}

.hv-insight-grid .e-loop-item:nth-child(3 of .e-loop-item) .insight-card {
	grid-column:1 / -1;
	display:grid;
	grid-template-columns:0.95fr 1fr;
	align-items:center;
	gap:40px;
}

.hv-insight-grid .e-loop-item:nth-child(3 of .e-loop-item) .insight-card-media img {
	aspect-ratio:4/3;
}

.hv-insight-grid .e-loop-item:nth-child(3 of .e-loop-item) .insight-card-body {
	padding:0 24px 0 0;
}

.hv-insight-tabs .e-filter {
	display:flex;
	flex-wrap:wrap;
	gap:16px;
	margin-bottom:48px;
	flex-direction: row;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.hv-insight-tabs .e-filter-item {
	flex:1;
	font-family:'Inter', sans-serif;
	font-size:14px;
	color:var(--navy);
	background:#f4f3f1;
	border:1px solid transparent;
	border-radius:6px;
	padding:14px 18px;
	cursor:pointer;
	white-space:nowrap;
	transition:border-color .2s ease, color .2s ease, background .2s ease;
}

.hv-insight-tabs .e-filter-item:hover {
	border-color:#e2e0dc;
}

.hv-insight-tabs .e-filter-item[aria-pressed="true"] {
	background:#fdf8f2;
	border-color:#e0a457;
	color:#e07a1f;
}

.e-con.btn,
.elementor.elementor .elementor-widget.elementor-widget.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.btn-primary,
.elementor.elementor .elementor-widget.elementor-widget.btn-primary {
	padding: 12px 20px;
}

.elementor.elementor .e-con.btn-primary .arrow {
	font-size: 18px;
}

.e-con.btn-contact,
.elementor.elementor .elementor-widget.elementor-widget.btn-contact {
	padding: 10px 16px;
}

.e-con.hero-section,
.elementor.elementor .elementor-widget.elementor-widget.hero-section {
	position: relative;
	width: 100%;
	min-height: 800px;
	overflow: hidden;
}

.e-con.hero-bg,
.elementor.elementor .elementor-widget.elementor-widget.hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.elementor.elementor .e-con.hero-bg img {
	width: 100%;
	height: 100%;
}

.e-con.navbar,
.elementor.elementor .elementor-widget.elementor-widget.navbar {
	position: relative;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 84px;
	padding: 12px 80px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.logo img {
	height: 44px;
	width: auto;
}

.e-con.nav-links,
.elementor.elementor .elementor-widget.elementor-widget.nav-links {
	display: flex;
	align-items: center;
	gap: 4px;
	height: 48px;
	padding: 0 10px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.nav-links li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 4px 16px;
	font-weight: 500;
	font-size: 16px;
	letter-spacing: 0.1px;
	color: #d6d6d6;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.nav-links li a.active {
	color: #86b3fe;
}

.e-con.hero-guides,
.elementor.elementor .elementor-widget.elementor-widget.hero-guides {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.e-con.v-line,
.elementor.elementor .elementor-widget.elementor-widget.v-line {
	position: absolute;
	top: 50%;
	width: 1px;
	height: 900px;
}

.e-con.v-line--left,
.elementor.elementor .elementor-widget.elementor-widget.v-line--left {
	left: 80px;
}

.e-con.v-line--right,
.elementor.elementor .elementor-widget.elementor-widget.v-line--right {
	right: 79.5px;
}

.e-con.hero-content,
.elementor.elementor .elementor-widget.elementor-widget.hero-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
	max-width: 893px;
	padding: 120px 0 160px 120px;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.hero-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.hero-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.hero-eyebrow span:last-child {
	color: var(--gold);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 24px;
}

.e-con.hero-copy,
.elementor.elementor .elementor-widget.elementor-widget.hero-copy {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.hero-copy h1 {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 64px;
	line-height: 72px;
	letter-spacing: 1px;
	max-width: 807px;
}

.elementor.elementor .e-con.hero-copy h1 em {
	font-style: italic;
	color: var(--gold);
}

.elementor.elementor .e-con.hero-copy p {
	font-size: 18px;
	line-height: 28px;
	letter-spacing: 0.3px;
	color: var(--text-muted);
	max-width: 764px;
}

.e-con.hero-strip,
.elementor.elementor .elementor-widget.elementor-widget.hero-strip {
	position: relative;
	z-index: 3;
	display: flex;
	width: 100%;
	padding: 0 80px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.strip-item,
.elementor.elementor .elementor-widget.elementor-widget.strip-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 0;
	padding: 12px 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.strip-item span {
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #ccc;
}

.elementor.elementor .e-con.strip-item .dots {
	display: flex;
	align-items: center;
	gap: 3px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.strip-item .dots b {
	width: 6px;
	height: 6px;
	display: inline-block;
}

@media (max-width:1439px) {
	.hv-btn-primary .elementor-button.elementor-button {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		border-radius:8px;
		font-weight:500;
		white-space:nowrap;
		transition:opacity .2s ease;
		font-size:clamp(14px,1.25vw,18px);
		padding:clamp(10px,0.83vw,12px) clamp(14px,1.4vw,20px);
		flex-direction: row;
		flex-wrap: nowrap;
		align-content: normal;
	}
	
	.hv-btn-contact .elementor-button.elementor-button {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		border-radius:8px;
		font-weight:500;
		white-space:nowrap;
		transition:opacity .2s ease;
		font-size:clamp(13px,1.1vw,16px);
		padding:clamp(8px,0.7vw,10px) clamp(12px,1.1vw,16px);
		flex-direction: row;
		flex-wrap: nowrap;
		align-content: normal;
	}
	
	.hv-nav .elementor-nav-menu li a {
		font-size:clamp(13px,1.1vw,16px);
		padding:4px clamp(8px,1.1vw,16px);
	}
	
	.hv-newsletter-form .elementor-button[type="submit"] {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		border-radius:8px;
		font-weight:500;
		white-space:nowrap;
		transition:opacity .2s ease;
		font-size:15px;
		padding:14px 22px;
		border:none;
		cursor:pointer;
		font-family:'Inter', sans-serif;
		flex-direction: row;
		flex-wrap: nowrap;
		align-content: normal;
	}
	
	.e-con.navbar,
	.elementor.elementor .elementor-widget.elementor-widget.navbar {
		padding: 12px clamp(20px,5.5vw,80px);
	}
	
	.e-con.hero-content,
	.elementor.elementor .elementor-widget.elementor-widget.hero-content {
		padding: clamp(60px,8.3vw,120px) clamp(20px,5.5vw,120px) clamp(90px,11vw,160px);
		max-width: 62vw;
	}
	
	.elementor.elementor .e-con.hero-copy h1 {
		font-size: clamp(28px,4.44vw,64px);
		line-height: clamp(34px,5vw,72px);
		max-width: 56vw;
	}
	
	.elementor.elementor .e-con.hero-copy p {
		font-size: clamp(14px,1.25vw,18px);
		line-height: clamp(20px,1.94vw,28px);
		max-width: 53vw;
	}
	
	.elementor.elementor .e-con.nav-links li a {
		font-size: clamp(13px,1.1vw,16px);
		padding: 4px clamp(8px,1.1vw,16px);
	}
	
	.e-con.btn-contact,
	.elementor.elementor .elementor-widget.elementor-widget.btn-contact {
		padding: clamp(8px,0.7vw,10px) clamp(12px,1.1vw,16px);
	}
	
	.e-con.btn-primary,
	.elementor.elementor .elementor-widget.elementor-widget.btn-primary {
		padding: clamp(10px,0.83vw,12px) clamp(14px,1.4vw,20px);
	}
	
	.e-con.hero-strip,
	.elementor.elementor .elementor-widget.elementor-widget.hero-strip {
		padding: 0 clamp(20px,5.5vw,80px);
	}
	
	.e-con.strip-item,
	.elementor.elementor .elementor-widget.elementor-widget.strip-item {
		padding: clamp(8px,0.83vw,12px) clamp(10px,1.1vw,16px);
	}
	
	.elementor.elementor .e-con.strip-item span {
		font-size: clamp(11px,1.1vw,16px);
	}
	
	.e-con.v-line--left,
	.elementor.elementor .elementor-widget.elementor-widget.v-line--left {
		left: clamp(20px,5.5vw,80px);
	}
	
	.e-con.v-line--right,
	.elementor.elementor .elementor-widget.elementor-widget.v-line--right {
		right: clamp(20px,5.5vw,79.5px);
	}
}

.e-con.ceiling-section,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-section {
	padding: 96px 80px;
}

.e-con.ceiling-container,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-container {
	width: 100%;
}

.e-con.ceiling-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	margin-block-end: 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.ceiling-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.ceiling-eyebrow span:last-child {
	color: #e07a1f;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.e-con.ceiling-heading,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-heading {
	max-width: min(640px,100%);
	margin-bottom: 24px;
	margin-block-end: 24px;
}

.elementor.elementor .e-con.ceiling-heading .accent {
	color: #e07a1f;
}

.e-con.ceiling-text,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-text {
	max-width: 100%;
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.elementor.elementor .e-con.ceiling-text--bold strong {
	color: var(--navy);
}

.e-con.ceiling-cards,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-cards {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-top: 56px;
	margin-block-start: 56px;
	margin-bottom: 40px;
	margin-block-end: 40px;
}

.e-con.ceiling-card,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-card {
	position: relative;
	aspect-ratio: 373/400;
}

.elementor.elementor .e-con.ceiling-card img {
	width: 100%;
	height: 100%;
	display: block;
}

.e-con.ceiling-card-info,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-card-info {
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: -32px;
	padding: 18px 20px;
}

.elementor.elementor .e-con.ceiling-card-info h3 {
	font-size: 16px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 10px;
	margin-block-end: 10px;
}

.elementor.elementor .e-con.ceiling-card-info ul {
	display: flex;
	flex-direction: column;
	gap: 7px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.ceiling-card-info li {
	position: relative;
	padding-left: 14px;
	font-size: 13px;
	color: #5a5f66;
	line-height: 1.5;
}

.elementor.elementor .e-con.ceiling-card-info li::before {
	position: absolute;
	left: 0;
	top: 7px;
	width: 5px;
	height: 5px;
}

.e-con.ceiling-bridge,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-bridge {
	margin-top: 56px;
	margin-block-start: 56px;
	padding: 32px;
	text-align: center;
}

.elementor.elementor .e-con.ceiling-bridge h4 {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-style: italic;
	font-size: 20px;
	color: #e07a1f;
	margin-bottom: 20px;
	margin-block-end: 20px;
}

.e-con.ceiling-bridge-list,
.elementor.elementor .elementor-widget.elementor-widget.ceiling-bridge-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 32px;
	padding-top: 20px;
	flex-direction: row;
	align-items: normal;
	align-content: normal;
}

.elementor.elementor .e-con.ceiling-bridge-list span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--navy);
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.ceiling-bridge-list i {
	width: 6px;
	height: 6px;
	display: inline-block;
}

.e-con.solution-section,
.elementor.elementor .elementor-widget.elementor-widget.solution-section {
	padding: 96px 80px 0;
}

.e-con.solution-container,
.elementor.elementor .elementor-widget.elementor-widget.solution-container {
	width: 100%;
	text-align: center;
}

.e-con.solution-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.solution-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 16px;
	margin-block-end: 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.solution-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.solution-eyebrow span:last-child {
	color: #e07a1f;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.e-con.solution-heading,
.elementor.elementor .elementor-widget.elementor-widget.solution-heading {
	margin-bottom: 48px;
	margin-block-end: 48px;
}

.elementor.elementor .e-con.solution-heading .accent {
	color: #e07a1f;
}

.e-con.solution-grid,
.elementor.elementor .elementor-widget.elementor-widget.solution-grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	text-align: left;
	padding: 48px;
	column-gap: 64px;
	row-gap: 56px;
}

.e-con.solution-card,
.elementor.elementor .elementor-widget.elementor-widget.solution-card {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.solution-card-head,
.elementor.elementor .elementor-widget.elementor-widget.solution-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
	margin-block-end: 20px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.solution-num,
.elementor.elementor .elementor-widget.elementor-widget.solution-num {
	flex-shrink: 0;
}

.e-con.solution-rule,
.elementor.elementor .elementor-widget.elementor-widget.solution-rule {
	flex: 1;
	height: 1px;
}

.elementor.elementor .e-con.solution-card h4 {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 17px;
	font-weight: 700;
	color: var(--navy);
	margin-bottom: 12px;
	margin-block-end: 12px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.solution-card h4 i {
	width: 6px;
	height: 6px;
	margin-top: 6px;
	margin-block-start: 6px;
	flex-shrink: 0;
	display: inline-block;
}

.elementor.elementor .e-con.solution-card p {
	font-size: 14.5px;
	line-height: 1.7;
	color: #6b7079;
}

.e-con.solution-strip,
.elementor.elementor .elementor-widget.elementor-widget.solution-strip {
	display: flex;
	width: 100%;
	margin-top: 56px;
	margin-block-start: 56px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.strip-item--light span {
	color: var(--navy);
}

@media (max-width:1439px) {
	.e-con.ceiling-section,
	.elementor.elementor .elementor-widget.elementor-widget.ceiling-section {
		padding: clamp(48px,7vw,96px) clamp(20px,5.5vw,80px);
	}
	
	.e-con.solution-section,
	.elementor.elementor .elementor-widget.elementor-widget.solution-section {
		padding: clamp(48px,7vw,96px) clamp(20px,5.5vw,80px) 0;
	}
}

@media (max-width:768px) {
	.e-con.solution-grid,
	.elementor.elementor .elementor-widget.elementor-widget.solution-grid {
		grid-template-columns: 1fr;
		padding: 32px;
	}
	
	.e-con.solution-strip,
	.elementor.elementor .elementor-widget.elementor-widget.solution-strip {
		flex-wrap: wrap;
	}
	
	.e-con.strip-item--light,
	.elementor.elementor .elementor-widget.elementor-widget.strip-item--light {
		flex: 1 1 50%;
	}
}

@media (max-width:900px) {
	.e-con.ceiling-cards,
	.elementor.elementor .elementor-widget.elementor-widget.ceiling-cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width:480px) {
	.e-con.ceiling-heading,
	.elementor.elementor .elementor-widget.elementor-widget.ceiling-heading {
		max-width: 100%;
	}
	
	.e-con.ceiling-text,
	.elementor.elementor .elementor-widget.elementor-widget.ceiling-text {
		max-width: 100%;
	}
}

@media (max-width:640px) {
	.hv-nav .elementor-nav-menu {
		order:3;
		width:100%;
		justify-content:center;
		padding:0;
	}
	
	.e-con.navbar,
	.elementor.elementor .elementor-widget.elementor-widget.navbar {
		flex-wrap: wrap;
		height: auto;
		row-gap: 12px;
	}
	
	.e-con.nav-links,
	.elementor.elementor .elementor-widget.elementor-widget.nav-links {
		order: 3;
		width: 100%;
		justify-content: center;
		padding: 0;
	}
	
	.e-con.hero-content,
	.elementor.elementor .elementor-widget.elementor-widget.hero-content {
		max-width: 100%;
		padding: 40px 20px 120px;
	}
	
	.elementor.elementor .e-con.hero-copy h1 {
		max-width: 100%;
	}
	
	.elementor.elementor .e-con.hero-copy p {
		max-width: 100%;
	}
	
	.e-con.hero-strip,
	.elementor.elementor .elementor-widget.elementor-widget.hero-strip {
		flex-wrap: wrap;
	}
	
	.e-con.strip-item,
	.elementor.elementor .elementor-widget.elementor-widget.strip-item {
		flex: 1 1 50%;
	}
	
	.e-con.v-line--left,
	.elementor.elementor .elementor-widget.elementor-widget.v-line--left,
	.e-con.v-line--right,
	.elementor.elementor .elementor-widget.elementor-widget.v-line--right {
		display: none;
	}
}

.e-con.nlg-section,
.elementor.elementor .elementor-widget.elementor-widget.nlg-section {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 80px 80px 80px 120px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.nlg-bg,
.elementor.elementor .elementor-widget.elementor-widget.nlg-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.elementor.elementor .e-con.nlg-bg img {
	width: 100%;
	height: 100%;
}

.e-con.nlg-content,
.elementor.elementor .elementor-widget.elementor-widget.nlg-content {
	position: relative;
	z-index: 2;
	max-width: 640px;
}

.e-con.nlg-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.nlg-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
	margin-block-end: 20px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.nlg-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.nlg-eyebrow span:last-child {
	color: #d3ad78;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.e-con.nlg-heading,
.elementor.elementor .elementor-widget.elementor-widget.nlg-heading {
	margin-bottom: 24px;
	margin-block-end: 24px;
}

.elementor.elementor .e-con.nlg-heading em {
	font-style: italic;
	color: #d3ad78;
}

.e-con.nlg-text,
.elementor.elementor .elementor-widget.elementor-widget.nlg-text {
	margin-bottom: 32px;
	margin-block-end: 32px;
	max-width: 560px;
}

.e-con.nlg-image,
.elementor.elementor .elementor-widget.elementor-widget.nlg-image {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	width: 56%;
	max-width: 760px;
}

.elementor.elementor .e-con.nlg-image img {
	width: 100%;
	display: block;
}

@media (max-width:1439px) {
	.e-con.nlg-section,
	.elementor.elementor .elementor-widget.elementor-widget.nlg-section {
		padding: clamp(48px,7vw,80px) clamp(20px,5.5vw,80px) clamp(48px,7vw,80px) clamp(20px,7vw,120px);
	}
}

@media (max-width:900px) {
	.e-con.nlg-section,
	.elementor.elementor .elementor-widget.elementor-widget.nlg-section {
		flex-direction: column;
		align-items: flex-start;
		min-height: auto;
		padding-top: 56px;
	}
	
	.e-con.nlg-content,
	.elementor.elementor .elementor-widget.elementor-widget.nlg-content {
		max-width: 100%;
	}
	
	.e-con.nlg-image,
	.elementor.elementor .elementor-widget.elementor-widget.nlg-image {
		display: none;
	}
}

.e-con.audience-section,
.elementor.elementor .elementor-widget.elementor-widget.audience-section {
	padding: 96px 80px;
	text-align: center;
}

.e-con.audience-container,
.elementor.elementor .elementor-widget.elementor-widget.audience-container {
	width: 100%;
}

.e-con.audience-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.audience-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 16px;
	margin-block-end: 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.audience-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.audience-eyebrow span:last-child {
	color: #e07a1f;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.e-con.audience-heading,
.elementor.elementor .elementor-widget.elementor-widget.audience-heading {
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.elementor.elementor .e-con.audience-heading .accent {
	color: #e07a1f;
}

.e-con.audience-text,
.elementor.elementor .elementor-widget.elementor-widget.audience-text {
	max-width: 800px;
	margin: 0 auto 56px;
}

.e-con.audience-grid,
.elementor.elementor .elementor-widget.elementor-widget.audience-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	text-align: left;
}

.e-con.audience-card,
.elementor.elementor .elementor-widget.elementor-widget.audience-card {
	overflow: hidden;
}

.e-con.audience-card-img,
.elementor.elementor .elementor-widget.elementor-widget.audience-card-img {
	width: 100%;
	aspect-ratio: 295/195;
	overflow: hidden;
}

.elementor.elementor .e-con.audience-card-img img {
	width: 100%;
	height: 100%;
	display: block;
}

.e-con.audience-card-body,
.elementor.elementor .elementor-widget.elementor-widget.audience-card-body {
	padding: 32px;
}

.e-con.audience-tag,
.elementor.elementor .elementor-widget.elementor-widget.audience-tag {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	margin-block-end: 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.audience-tag .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.audience-tag span:last-child {
	color: #e07a1f;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.elementor.elementor .e-con.audience-card-body h3 {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 1.35;
	color: var(--navy);
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.elementor.elementor .e-con.audience-card-body p {
	font-size: 14.5px;
	line-height: 1.7;
	color: #6b7079;
}

@media (max-width:1439px) {
	.e-con.audience-section,
	.elementor.elementor .elementor-widget.elementor-widget.audience-section {
		padding: clamp(48px,7vw,96px) clamp(20px,5.5vw,80px);
	}
}

@media (max-width:900px) {
	.e-con.audience-grid,
	.elementor.elementor .elementor-widget.elementor-widget.audience-grid {
		grid-template-columns: 1fr;
	}
}

.e-con.touch-section,
.elementor.elementor .elementor-widget.elementor-widget.touch-section {
	padding: 0 80px 96px;
}

.e-con.touch-card,
.elementor.elementor .elementor-widget.elementor-widget.touch-card {
	position: relative;
	overflow: hidden;
	min-height: 680px;
	display: flex;
	align-items: stretch;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.touch-bg,
.elementor.elementor .elementor-widget.elementor-widget.touch-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.elementor.elementor .e-con.touch-bg img {
	width: 100%;
	height: 100%;
}

.e-con.touch-lines,
.elementor.elementor .elementor-widget.elementor-widget.touch-lines {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.elementor.elementor .e-con.touch-lines span {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
}

.elementor.elementor .e-con.touch-lines span:first-child {
	left: 33.33%;
}

.elementor.elementor .e-con.touch-lines span:last-child {
	right: 16%;
}

.e-con.touch-inner,
.elementor.elementor .elementor-widget.elementor-widget.touch-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	align-items: stretch;
	gap: 40px;
	padding: 64px 60px;
}

.e-con.touch-left,
.elementor.elementor .elementor-widget.elementor-widget.touch-left {
	align-self: start;
}

.e-con.touch-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.touch-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 26px;
	margin-block-end: 26px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.touch-eyebrow .dot {
	width: 9px;
	height: 9px;
	display: inline-block;
}

.elementor.elementor .e-con.touch-eyebrow span:last-child {
	color: #d3ad78;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 2.5px;
	text-transform: uppercase;
}

.e-con.touch-heading,
.elementor.elementor .elementor-widget.elementor-widget.touch-heading {
	margin-bottom: 40px;
	margin-block-end: 40px;
}

.elementor.elementor .e-con.touch-heading em {
	font-style: normal;
	color: #d3ad78;
}

.elementor.elementor .e-con.touch-left .btn-primary {
	padding: 15px 26px;
	font-size: 19px;
}

.e-con.touch-text,
.elementor.elementor .elementor-widget.elementor-widget.touch-text {
	align-self: end;
	max-width: 100%;
	margin-left: auto;
}

@media (max-width:1439px) {
	.e-con.touch-section,
	.elementor.elementor .elementor-widget.elementor-widget.touch-section {
		padding: 0 clamp(20px,5.5vw,80px) clamp(48px,7vw,96px);
	}
	
	.e-con.touch-inner,
	.elementor.elementor .elementor-widget.elementor-widget.touch-inner {
		padding: clamp(32px,4vw,56px) clamp(24px,4.2vw,60px);
	}
}

@media (max-width:900px) {
	.e-con.touch-inner,
	.elementor.elementor .elementor-widget.elementor-widget.touch-inner {
		grid-template-columns: 1fr;
		align-items: start;
	}
	
	.e-con.touch-heading,
	.elementor.elementor .elementor-widget.elementor-widget.touch-heading {
		margin-bottom: 28px;
		margin-block-end: 28px;
	}
	
	.e-con.touch-text,
	.elementor.elementor .elementor-widget.elementor-widget.touch-text {
		align-self: start;
	}
	
	.e-con.touch-text,
	.elementor.elementor .elementor-widget.elementor-widget.touch-text {
		max-width: 100%;
		margin-left: 0;
	}
	
	.e-con.touch-lines,
	.elementor.elementor .elementor-widget.elementor-widget.touch-lines {
		display: none;
	}
}

.e-con.site-footer,
.elementor.elementor .elementor-widget.elementor-widget.site-footer {
	position: relative;
	padding: 72px 80px 0;
}

.e-con.footer-lines,
.elementor.elementor .elementor-widget.elementor-widget.footer-lines {
	position: absolute;
	inset: 0;
}

.elementor.elementor .e-con.footer-lines span {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
}

.elementor.elementor .e-con.footer-lines span:first-child {
	left: 40px;
}

.elementor.elementor .e-con.footer-lines span:last-child {
	right: 40px;
}

.e-con.footer-top,
.elementor.elementor .elementor-widget.elementor-widget.footer-top {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.9fr 1fr 1.2fr 1.3fr;
	gap: 40px;
	padding-bottom: 56px;
}

.elementor.elementor .e-con.footer-logo img {
	height: 42px;
	width: auto;
	display: block;
}

.e-con.footer-about,
.elementor.elementor .elementor-widget.elementor-widget.footer-about {
	margin-top: 22px;
	margin-block-start: 22px;
	max-width: 300px;
}

.e-con.footer-subscribe,
.elementor.elementor .elementor-widget.elementor-widget.footer-subscribe {
	display: inline-block;
	margin-top: 20px;
	margin-block-start: 20px;
}

.e-con.footer-social,
.elementor.elementor .elementor-widget.elementor-widget.footer-social {
	display: flex;
	gap: 10px;
	margin-top: 26px;
	margin-block-start: 26px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.footer-social a {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,0.8);
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.footer-social a:hover {
	color: #fff;
}

.elementor.elementor .e-con.footer-col h4 {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 18px;
	color: #fff;
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.elementor.elementor .e-con.footer-col ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.footer-col ul a {
	font-size: 14px;
	color: rgba(255,255,255,0.72);
}

.elementor.elementor .e-con.footer-col ul a:hover {
	color: #fff;
}

.e-con.footer-name,
.elementor.elementor .elementor-widget.elementor-widget.footer-name {
	margin-bottom: 8px;
	margin-block-end: 8px;
}

.e-con.footer-role,
.elementor.elementor .elementor-widget.elementor-widget.footer-role {
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.e-con.footer-contact-item,
.elementor.elementor .elementor-widget.elementor-widget.footer-contact-item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	margin-block-end: 14px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.footer-icon,
.elementor.elementor .elementor-widget.elementor-widget.footer-icon {
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.footer-bottom,
.elementor.elementor .elementor-widget.elementor-widget.footer-bottom {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 0 28px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.footer-bottom p {
	font-size: 13.5px;
	color: rgba(255,255,255,0.6);
}

.e-con.footer-legal,
.elementor.elementor .elementor-widget.elementor-widget.footer-legal {
	display: flex;
	gap: 36px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.footer-legal a {
	font-size: 13.5px;
	color: rgba(255,255,255,0.7);
}

.elementor.elementor .e-con.footer-legal a:hover {
	color: #fff;
}

@media (max-width:1439px) {
	.e-con.site-footer,
	.elementor.elementor .elementor-widget.elementor-widget.site-footer {
		padding: clamp(48px,5vw,72px) clamp(20px,5.5vw,80px) 0;
	}
}

@media (max-width:900px) {
	.e-con.footer-top,
	.elementor.elementor .elementor-widget.elementor-widget.footer-top {
		grid-template-columns: 1fr 1fr;
		gap: 36px;
	}
	
	.e-con.footer-lines,
	.elementor.elementor .elementor-widget.elementor-widget.footer-lines {
		display: none;
	}
}

@media (max-width:600px) {
	.e-con.footer-top,
	.elementor.elementor .elementor-widget.elementor-widget.footer-top {
		grid-template-columns: 1fr;
	}
	
	.e-con.footer-bottom,
	.elementor.elementor .elementor-widget.elementor-widget.footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	
	.e-con.footer-legal,
	.elementor.elementor .elementor-widget.elementor-widget.footer-legal {
		gap: 24px;
	}
}

.e-con.breadcrumb-section,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-section {
	position: relative;
	width: 100%;
	min-height: 500px;
	overflow: hidden;
}

.e-con.breadcrumb-bg,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.elementor.elementor .e-con.breadcrumb-bg img {
	width: 100%;
	height: 100%;
}

.e-con.breadcrumb-guides,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-guides {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.elementor.elementor .e-con.breadcrumb-guides .v-line {
	top: 0;
	height: 100%;
}

.e-con.breadcrumb-content,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 90px 80px 100px;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.breadcrumb-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 22px;
	margin-block-end: 22px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.breadcrumb-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.breadcrumb-eyebrow span:last-child {
	color: var(--gold);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 2.5px;
}

.e-con.breadcrumb-heading,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-heading {
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.elementor.elementor .e-con.breadcrumb-heading em {
	font-style: italic;
	color: var(--gold);
}

.e-con.breadcrumb-text,
.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-text {
	max-width: 760px;
}

@media (max-width:1439px) {
	.e-con.breadcrumb-content,
	.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-content {
		padding: clamp(56px,6.3vw,90px) clamp(20px,5.5vw,80px) clamp(60px,7vw,100px);
	}
	
	.elementor.elementor .e-con.breadcrumb-guides .v-line--left {
		left: clamp(20px,5.5vw,80px);
	}
	
	.elementor.elementor .e-con.breadcrumb-guides .v-line--right {
		right: clamp(20px,5.5vw,80px);
	}
}

@media (max-width:900px) {
	.e-con.breadcrumb-section,
	.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-section {
		min-height: auto;
	}
	
	.e-con.breadcrumb-guides,
	.elementor.elementor .elementor-widget.elementor-widget.breadcrumb-guides {
		display: none;
	}
}

.e-con.service-section,
.elementor.elementor .elementor-widget.elementor-widget.service-section {
	padding: 90px 120px;
}

.e-con.service-row,
.elementor.elementor .elementor-widget.elementor-widget.service-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 80px;
}

.elementor.elementor .e-con.service-row--reverse .service-copy {
	order: 2;
}

.elementor.elementor .e-con.service-row--reverse .service-media {
	order: 1;
}

.e-con.service-head,
.elementor.elementor .elementor-widget.elementor-widget.service-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	margin-block-end: 18px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.service-rule,
.elementor.elementor .elementor-widget.elementor-widget.service-rule {
	width: 34px;
	height: 1px;
}

.e-con.service-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.service-eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	margin-block-end: 18px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.service-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.service-eyebrow span:last-child {
	color: #e07a1f;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}

.e-con.service-heading,
.elementor.elementor .elementor-widget.elementor-widget.service-heading {
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.elementor.elementor .e-con.service-heading em {
	font-style: normal;
	color: #e07a1f;
}

.e-con.service-tag,
.elementor.elementor .elementor-widget.elementor-widget.service-tag {
	margin-bottom: 18px;
	margin-block-end: 18px;
}

.e-con.service-text,
.elementor.elementor .elementor-widget.elementor-widget.service-text {
	max-width: 520px;
}

.elementor.elementor .e-con.service-media img {
	width: 100%;
	aspect-ratio: 5/4;
	display: block;
}

@media (max-width:1439px) {
	.e-con.service-section,
	.elementor.elementor .elementor-widget.elementor-widget.service-section {
		padding: clamp(56px,6.3vw,90px) clamp(20px,8.3vw,120px);
	}
	
	.e-con.service-row,
	.elementor.elementor .elementor-widget.elementor-widget.service-row {
		gap: clamp(32px,5.5vw,80px);
	}
}

@media (max-width:900px) {
	.e-con.service-row,
	.elementor.elementor .elementor-widget.elementor-widget.service-row {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	
	.elementor.elementor .e-con.service-row--reverse .service-copy,
	.elementor.elementor .e-con.service-row--reverse .service-media {
		order: initial;
	}
	
	.e-con.service-text,
	.elementor.elementor .elementor-widget.elementor-widget.service-text {
		max-width: 100%;
	}
}

.e-con.touch-card--compact,
.elementor.elementor .elementor-widget.elementor-widget.touch-card--compact {
	min-height: 430px;
}

.elementor.elementor .e-con.touch-card--compact .touch-heading {
	font-size: 42px;
	margin-bottom: 32px;
	margin-block-end: 32px;
}

.elementor.elementor .e-con.touch-card--compact .touch-text {
	font-size: 15px;
	line-height: 1.8;
}

@media (max-width:900px) {
	.e-con.touch-card--compact,
	.elementor.elementor .elementor-widget.elementor-widget.touch-card--compact {
		min-height: auto;
	}
	
	.elementor.elementor .e-con.touch-card--compact .touch-heading {
		font-size: 30px;
	}
}

.e-con.mission-section,
.elementor.elementor .elementor-widget.elementor-widget.mission-section {
	padding: 120px 120px 110px;
}

.e-con.mission-row,
.elementor.elementor .elementor-widget.elementor-widget.mission-row {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	align-items: center;
	gap: 60px;
}

.elementor.elementor .e-con.mission-copy .service-eyebrow {
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.elementor.elementor .e-con.mission-copy .service-eyebrow span:last-child {
	font-size: 12px;
	letter-spacing: 2px;
}

.elementor.elementor .e-con.mission-copy .service-heading {
	font-size: 42px;
	line-height: 1.25;
	margin-bottom: 26px;
	margin-block-end: 26px;
}

@media (min-width:1100px) {
	.elementor.elementor .e-con.mission-copy .service-heading {
		white-space: nowrap;
	}
}

.elementor.elementor .e-con.mission-copy .service-text {
	font-size: 16px;
	line-height: 1.9;
	margin-bottom: 26px;
	margin-block-end: 26px;
	max-width: 100%;
}

.elementor.elementor .e-con.mission-copy .service-text:last-child {
	margin-bottom: 0;
	margin-block-end: 0;
}

.elementor.elementor .e-con.mission-row .service-media img {
	aspect-ratio: 4/5;
	max-width: 560px;
	margin-left: auto;
}

.e-con.mission-callout,
.elementor.elementor .elementor-widget.elementor-widget.mission-callout {
	margin-top: 80px;
	margin-block-start: 80px;
	padding: 24px 28px;
	text-align: center;
}

.elementor.elementor .e-con.mission-callout h4 {
	font-family: 'Fraunces', serif;
	font-style: italic;
	font-weight: 400;
	font-size: 15px;
	color: #e07a1f;
	margin-bottom: 10px;
	margin-block-end: 10px;
}

.elementor.elementor .e-con.mission-callout p {
	font-size: 16px;
	font-weight: 500;
	color: var(--navy);
}

.e-con.founder-section,
.elementor.elementor .elementor-widget.elementor-widget.founder-section {
	padding: 90px 120px;
}

.e-con.founder-heading,
.elementor.elementor .elementor-widget.elementor-widget.founder-heading {
	margin-bottom: 20px;
	margin-block-end: 20px;
}

.elementor.elementor .e-con.founder-heading em {
	font-style: normal;
	color: #e07a1f;
}

.elementor.elementor .e-con.founder-intro .service-text {
	margin-bottom: 16px;
	margin-block-end: 16px;
	max-width: 100%;
}

.elementor.elementor .e-con.founder-intro .service-text strong {
	color: #e07a1f;
	font-weight: 500;
}

.e-con.founder-card,
.elementor.elementor .elementor-widget.elementor-widget.founder-card {
	margin-top: 48px;
	margin-block-start: 48px;
	display: grid;
	grid-template-columns: 0.8fr 1.4fr;
	gap: 48px;
	padding: 36px;
}

.e-con.founder-photo,
.elementor.elementor .elementor-widget.elementor-widget.founder-photo {
	position: relative;
	align-self: start;
	margin-bottom: 30px;
	margin-block-end: 30px;
}

.elementor.elementor .e-con.founder-photo img {
	width: 100%;
	aspect-ratio: 7/8;
	display: block;
}

.e-con.founder-photo-caption,
.elementor.elementor .elementor-widget.elementor-widget.founder-photo-caption {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: -28px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 18px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.founder-label,
.elementor.elementor .elementor-widget.elementor-widget.founder-label {
	display: block;
	padding-bottom: 16px;
	margin-bottom: 18px;
	margin-block-end: 18px;
}

.e-con.founder-label--quote,
.elementor.elementor .elementor-widget.elementor-widget.founder-label--quote {
	padding-bottom: 0;
	margin-top: 6px;
	margin-block-start: 6px;
	margin-bottom: 12px;
	margin-block-end: 12px;
}

.e-con.founder-name,
.elementor.elementor .elementor-widget.elementor-widget.founder-name {
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.e-con.founder-tags,
.elementor.elementor .elementor-widget.elementor-widget.founder-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin-bottom: 24px;
	margin-block-end: 24px;
	flex-direction: row;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.founder-tags li {
	position: relative;
	padding-left: 14px;
	font-size: 12.5px;
	color: #5a5f66;
}

.elementor.elementor .e-con.founder-tags li::before {
	position: absolute;
	left: 0;
	top: 6px;
	width: 5px;
	height: 5px;
}

.elementor.elementor .e-con.founder-body p {
	font-size: 14px;
	line-height: 1.75;
	color: #5a5f66;
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.e-con.founder-quote,
.elementor.elementor .elementor-widget.elementor-widget.founder-quote {
	padding: 2px 0 2px 18px;
}

@media (max-width:1439px) {
	.e-con.mission-section,
	.elementor.elementor .elementor-widget.elementor-widget.mission-section {
		padding: clamp(64px,8.3vw,120px) clamp(20px,8.3vw,120px) clamp(60px,7.6vw,110px);
	}
	
	.e-con.founder-section,
	.elementor.elementor .elementor-widget.elementor-widget.founder-section {
		padding: clamp(56px,6.3vw,90px) clamp(20px,8.3vw,120px);
	}
	
	.e-con.mission-row,
	.elementor.elementor .elementor-widget.elementor-widget.mission-row {
		gap: clamp(32px,4.4vw,64px);
	}
	
	.e-con.founder-card,
	.elementor.elementor .elementor-widget.elementor-widget.founder-card {
		gap: clamp(24px,3.3vw,48px);
		padding: clamp(20px,2.5vw,36px);
	}
}

@media (max-width:900px) {
	.e-con.mission-row,
	.elementor.elementor .elementor-widget.elementor-widget.mission-row {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	
	.e-con.founder-card,
	.elementor.elementor .elementor-widget.elementor-widget.founder-card {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.e-con.whycs-section,
.elementor.elementor .elementor-widget.elementor-widget.whycs-section {
	display: grid;
	grid-template-columns: 1.28fr 1fr;
	min-height: 520px;
}

.e-con.whycs-copy,
.elementor.elementor .elementor-widget.elementor-widget.whycs-copy {
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.whycs-lines,
.elementor.elementor .elementor-widget.elementor-widget.whycs-lines {
	position: absolute;
	inset: 0;
}

.elementor.elementor .e-con.whycs-lines span {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
}

.elementor.elementor .e-con.whycs-lines span:first-child {
	left: 60px;
}

.elementor.elementor .e-con.whycs-lines span:last-child {
	right: 70px;
}

.e-con.whycs-inner,
.elementor.elementor .elementor-widget.elementor-widget.whycs-inner {
	position: relative;
	z-index: 1;
	padding: 90px 80px 90px 120px;
}

.e-con.whycs-eyebrow,
.elementor.elementor .elementor-widget.elementor-widget.whycs-eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 22px;
	margin-block-end: 22px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.whycs-eyebrow .dot {
	width: 8px;
	height: 8px;
	display: inline-block;
}

.elementor.elementor .e-con.whycs-eyebrow span:last-child {
	color: var(--gold);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2.2px;
}

.e-con.whycs-heading,
.elementor.elementor .elementor-widget.elementor-widget.whycs-heading {
	margin-bottom: 26px;
	margin-block-end: 26px;
}

.elementor.elementor .e-con.whycs-heading em {
	font-style: italic;
	color: var(--gold);
}

.e-con.whycs-text,
.elementor.elementor .elementor-widget.elementor-widget.whycs-text {
	margin-bottom: 18px;
	margin-block-end: 18px;
	max-width: 560px;
}

.e-con.whycs-text:last-child,
.elementor.elementor .elementor-widget.elementor-widget.whycs-text:last-child {
	margin-bottom: 0;
	margin-block-end: 0;
}

.elementor.elementor .e-con.whycs-text strong {
	color: var(--gold);
	font-weight: 500;
}

.elementor.elementor .e-con.whycs-media img {
	width: 100%;
	height: 100%;
	display: block;
}

@media (max-width:1439px) {
	.e-con.whycs-inner,
	.elementor.elementor .elementor-widget.elementor-widget.whycs-inner {
		padding: clamp(56px,6.3vw,90px) clamp(24px,5.5vw,80px) clamp(56px,6.3vw,90px) clamp(24px,8.3vw,120px);
	}
}

@media (max-width:900px) {
	.e-con.whycs-section,
	.elementor.elementor .elementor-widget.elementor-widget.whycs-section {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	
	.e-con.whycs-lines,
	.elementor.elementor .elementor-widget.elementor-widget.whycs-lines {
		display: none;
	}
	
	.e-con.whycs-text,
	.elementor.elementor .elementor-widget.elementor-widget.whycs-text {
		max-width: 100%;
	}
	
	.elementor.elementor .e-con.whycs-media img {
		aspect-ratio: 16/10;
		height: auto;
	}
}

.e-con.touch-section--spaced,
.elementor.elementor .elementor-widget.elementor-widget.touch-section--spaced {
	padding-top: 96px;
}

.e-con.touch-card--stack,
.elementor.elementor .elementor-widget.elementor-widget.touch-card--stack {
	min-height: 430px;
}

.elementor.elementor .e-con.touch-card--stack .touch-inner {
	grid-template-columns: 1fr;
	align-items: center;
}

.elementor.elementor .e-con.touch-card--stack .touch-left {
	align-self: center;
	max-width: 820px;
}

.elementor.elementor .e-con.touch-card--stack .touch-heading {
	font-size: 40px;
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.elementor.elementor .e-con.touch-card--stack .touch-text {
	align-self: auto;
	font-size: 15px;
	line-height: 1.8;
	margin-left: 0;
	margin-bottom: 32px;
	margin-block-end: 32px;
	max-width: 760px;
}

@media (max-width:1439px) {
	.e-con.touch-section--spaced,
	.elementor.elementor .elementor-widget.elementor-widget.touch-section--spaced {
		padding-top: clamp(56px,6.6vw,96px);
	}
}

@media (max-width:900px) {
	.e-con.touch-card--stack,
	.elementor.elementor .elementor-widget.elementor-widget.touch-card--stack {
		min-height: auto;
	}
	
	.elementor.elementor .e-con.touch-card--stack .touch-heading {
		font-size: 28px;
	}
}

.e-con.contact-section,
.elementor.elementor .elementor-widget.elementor-widget.contact-section {
	padding: 80px 80px 96px;
}

.e-con.contact-card,
.elementor.elementor .elementor-widget.elementor-widget.contact-card {
	max-width: 1000px;
	margin: 0 auto;
	padding: 44px 48px 48px;
}

.e-con.contact-heading,
.elementor.elementor .elementor-widget.elementor-widget.contact-heading {
	margin-bottom: 14px;
	margin-block-end: 14px;
}

.elementor.elementor .e-con.contact-heading em {
	font-style: normal;
	color: #e07a1f;
}

.e-con.contact-sub,
.elementor.elementor .elementor-widget.elementor-widget.contact-sub {
	margin-bottom: 32px;
	margin-block-end: 32px;
}

.e-con.contact-grid,
.elementor.elementor .elementor-widget.elementor-widget.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 40px;
}

.e-con.field,
.elementor.elementor .elementor-widget.elementor-widget.field {
	display: flex;
	flex-direction: column;
	margin-bottom: 24px;
	margin-block-end: 24px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.field-label,
.elementor.elementor .elementor-widget.elementor-widget.field-label {
	margin-bottom: 8px;
	margin-block-end: 8px;
}

.elementor.elementor .e-con.field label {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--navy);
	margin-bottom: 8px;
	margin-block-end: 8px;
}

.elementor.elementor .e-con.field input,
.elementor.elementor .e-con.field textarea {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--navy);
	padding: 13px 16px;
}

.elementor.elementor .e-con.field textarea {
	min-height: 110px;
	line-height: 1.6;
}

.elementor.elementor .e-con.field input::placeholder,
.elementor.elementor .e-con.field textarea::placeholder {
	color: #a7abb1;
}

.e-con.pill-group,
.elementor.elementor .elementor-widget.elementor-widget.pill-group {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 16px;
}

.e-con.pill,
.elementor.elementor .elementor-widget.elementor-widget.pill {
	position: relative;
	display: block;
}

.elementor.elementor .e-con.pill input {
	position: absolute;
}

.elementor.elementor .e-con.pill span {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	font-size: 14px;
	color: var(--navy);
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.pill input:checked + span {
	color: #e07a1f;
}

.e-con.btn-send,
.elementor.elementor .elementor-widget.elementor-widget.btn-send {
	align-self: flex-start;
	padding: 14px 22px;
	margin-top: 4px;
	margin-block-start: 4px;
}

@media (max-width:1439px) {
	.e-con.contact-section,
	.elementor.elementor .elementor-widget.elementor-widget.contact-section {
		padding: clamp(48px,5.5vw,80px) clamp(20px,5.5vw,80px) clamp(56px,6.6vw,96px);
	}
	
	.e-con.contact-card,
	.elementor.elementor .elementor-widget.elementor-widget.contact-card {
		padding: clamp(24px,3vw,44px) clamp(20px,3.3vw,48px) clamp(28px,3.3vw,48px);
	}
}

@media (max-width:768px) {
	.hv-contact-form .elementor-field-type-radio .elementor-field-subgroup {
		grid-template-columns:1fr 1fr;
		gap:12px;
	}
	
	.e-con.contact-grid,
	.elementor.elementor .elementor-widget.elementor-widget.contact-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	
	.e-con.pill-group,
	.elementor.elementor .elementor-widget.elementor-widget.pill-group {
		grid-template-columns: 1fr 1fr;
		gap: 12px;
	}
}

.e-con.details-section,
.elementor.elementor .elementor-widget.elementor-widget.details-section {
	padding: 80px 120px 96px;
}

.e-con.details-inner,
.elementor.elementor .elementor-widget.elementor-widget.details-inner {
	width: 100%;
}

.elementor.elementor .e-con.details-section .service-eyebrow {
	margin-bottom: 20px;
	margin-block-end: 20px;
}

.elementor.elementor .e-con.details-section .service-eyebrow span:last-child {
	font-size: 12px;
	letter-spacing: 2px;
}

.e-con.details-heading,
.elementor.elementor .elementor-widget.elementor-widget.details-heading {
	margin-bottom: 12px;
	margin-block-end: 12px;
}

.elementor.elementor .e-con.details-heading em {
	font-style: normal;
	color: #e07a1f;
}

.e-con.details-company,
.elementor.elementor .elementor-widget.elementor-widget.details-company {
	margin-bottom: 36px;
	margin-block-end: 36px;
}

.e-con.details-cards,
.elementor.elementor .elementor-widget.elementor-widget.details-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.e-con.details-card,
.elementor.elementor .elementor-widget.elementor-widget.details-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 28px 24px;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.details-icon,
.elementor.elementor .elementor-widget.elementor-widget.details-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	overflow: clip;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.details-icon img {
	width: 100%;
	height: 100%;
	display: block;
}

@media (max-width:1439px) {
	.e-con.details-section,
	.elementor.elementor .elementor-widget.elementor-widget.details-section {
		padding: clamp(48px,5.5vw,80px) clamp(20px,8.3vw,120px) clamp(56px,6.6vw,96px);
	}
}

@media (max-width:768px) {
	.e-con.details-cards,
	.elementor.elementor .elementor-widget.elementor-widget.details-cards {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

.e-con.newsletter-form,
.elementor.elementor .elementor-widget.elementor-widget.newsletter-form {
	display: flex;
	align-items: stretch;
	gap: 14px;
	max-width: 520px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.newsletter-form input {
	flex: 1;
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	color: #ffffff;
	padding: 14px 18px;
}

.elementor.elementor .e-con.newsletter-form input::placeholder {
	color: rgba(255,255,255,0.55);
}

.elementor.elementor .e-con.newsletter-form .btn-primary {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	padding: 14px 22px;
}

@media (max-width:600px) {
	.hv-newsletter-form .elementor-form-fields-wrapper {
		flex-direction:column;
		max-width:100%;
	}
	
	.e-con.newsletter-form,
	.elementor.elementor .elementor-widget.elementor-widget.newsletter-form {
		flex-direction: column;
		max-width: 100%;
	}
}

.e-con.insight-section,
.elementor.elementor .elementor-widget.elementor-widget.insight-section {
	padding: 64px 120px 80px;
}

.e-con.insight-tabs,
.elementor.elementor .elementor-widget.elementor-widget.insight-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 48px;
	margin-block-end: 48px;
	flex-direction: row;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.insight-tab,
.elementor.elementor .elementor-widget.elementor-widget.insight-tab {
	flex: 1;
	padding: 14px 18px;
}

.e-con.sec-title,
.elementor.elementor .elementor-widget.elementor-widget.sec-title {
	padding-left: 16px;
	margin-bottom: 32px;
	margin-block-end: 32px;
}

.elementor.elementor .e-con.sec-title em {
	font-style: normal;
	color: #e07a1f;
}

.e-con.roadmap-card,
.elementor.elementor .elementor-widget.elementor-widget.roadmap-card {
	display: grid;
	grid-template-columns: 0.95fr 1fr;
	align-items: center;
	gap: 40px;
	padding: 22px;
}

.elementor.elementor .e-con.roadmap-media img {
	width: 100%;
	aspect-ratio: 4/3;
	display: block;
}

.e-con.roadmap-body,
.elementor.elementor .elementor-widget.elementor-widget.roadmap-body {
	padding-right: 24px;
}

.elementor.elementor .e-con.roadmap-body .service-eyebrow {
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.elementor.elementor .e-con.roadmap-body .service-eyebrow span:last-child {
	font-size: 12px;
	letter-spacing: 1.6px;
}

.e-con.roadmap-heading,
.elementor.elementor .elementor-widget.elementor-widget.roadmap-heading {
	margin-bottom: 16px;
	margin-block-end: 16px;
}

.e-con.roadmap-text,
.elementor.elementor .elementor-widget.elementor-widget.roadmap-text {
	margin-bottom: 26px;
	margin-block-end: 26px;
}

.e-con.btn-outline,
.elementor.elementor .elementor-widget.elementor-widget.btn-outline {
	padding: 12px 20px;
}

@media (max-width:1439px) {
	.e-con.insight-section,
	.elementor.elementor .elementor-widget.elementor-widget.insight-section {
		padding: clamp(40px,4.4vw,64px) clamp(20px,8.3vw,120px) clamp(56px,5.5vw,80px);
	}
}

@media (max-width:1100px) {
	.hv-insight-tabs .e-filter-item {
		flex:1 1 auto;
	}
	
	.e-con.insight-tab,
	.elementor.elementor .elementor-widget.elementor-widget.insight-tab {
		flex: 1 1 auto;
	}
}

@media (max-width:900px) {
	.e-con.roadmap-card,
	.elementor.elementor .elementor-widget.elementor-widget.roadmap-card {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	
	.e-con.roadmap-body,
	.elementor.elementor .elementor-widget.elementor-widget.roadmap-body {
		padding-right: 0;
	}
}

.e-con.sec-title--spaced,
.elementor.elementor .elementor-widget.elementor-widget.sec-title--spaced {
	margin-top: 72px;
	margin-block-start: 72px;
}

.e-con.insight-grid,
.elementor.elementor .elementor-widget.elementor-widget.insight-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.e-con.insight-card,
.elementor.elementor .elementor-widget.elementor-widget.insight-card {
	display: flex;
	flex-direction: column;
	padding: 18px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.insight-card-media img {
	width: 100%;
	aspect-ratio: 16/9;
	display: block;
}

.e-con.insight-card-body,
.elementor.elementor .elementor-widget.elementor-widget.insight-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px 8px 8px;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.insight-card-body .service-eyebrow {
	margin-bottom: 14px;
	margin-block-end: 14px;
}

.elementor.elementor .e-con.insight-card-body .service-eyebrow span:last-child {
	font-size: 11.5px;
	letter-spacing: 1.5px;
}

.elementor.elementor .e-con.insight-card-body h3 {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 21px;
	line-height: 1.35;
	color: var(--navy);
	margin-bottom: 14px;
	margin-block-end: 14px;
}

.elementor.elementor .e-con.insight-card-body p {
	font-size: 14px;
	line-height: 1.75;
	color: #5a5f66;
	margin-bottom: 22px;
	margin-block-end: 22px;
}

.e-con.insight-card--wide,
.elementor.elementor .elementor-widget.elementor-widget.insight-card--wide {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 0.95fr 1fr;
	align-items: center;
	gap: 40px;
}

.elementor.elementor .e-con.insight-card--wide .insight-card-media img {
	aspect-ratio: 4/3;
}

.elementor.elementor .e-con.insight-card--wide .insight-card-body {
	padding: 0 24px 0 0;
}

@media (max-width:900px) {
	.hv-insight-grid .elementor-loop-container {
		grid-template-columns:1fr;
		gap:20px;
	}
	
	.hv-insight-grid .e-loop-item:nth-child(3 of .e-loop-item) .insight-card {
		grid-template-columns:1fr;
		gap:20px;
		padding:18px;
	}
	
	.hv-insight-grid .e-loop-item:nth-child(3 of .e-loop-item) .insight-card-body {
		padding:22px 8px 8px;
	}
	
	.e-con.insight-grid,
	.elementor.elementor .elementor-widget.elementor-widget.insight-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.e-con.insight-card--wide,
	.elementor.elementor .elementor-widget.elementor-widget.insight-card--wide {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 18px;
	}
	
	.elementor.elementor .e-con.insight-card--wide .insight-card-body {
		padding: 22px 8px 8px;
	}
}

.e-con.article-section,
.elementor.elementor .elementor-widget.elementor-widget.article-section {
	padding: 72px 120px 80px;
}

.e-con.article-heading,
.elementor.elementor .elementor-widget.elementor-widget.article-heading {
	margin-bottom: 26px;
	margin-block-end: 26px;
}

.e-con.article-text,
.elementor.elementor .elementor-widget.elementor-widget.article-text {
	margin-bottom: 24px;
	margin-block-end: 24px;
}

@media (min-width:1440px) {
	.e-con.article-text,
	.elementor.elementor .elementor-widget.elementor-widget.article-text {
		margin-bottom: 26px;
		margin-block-end: 26px;
	}
}

.e-con.article-figure,
.elementor.elementor .elementor-widget.elementor-widget.article-figure {
	margin-top: 34px;
	margin-block-start: 34px;
}

.elementor.elementor .e-con.article-figure img {
	width: 100%;
	aspect-ratio: 16/9;
	display: block;
}

@media (max-width:1439px) {
	.e-con.article-section,
	.elementor.elementor .elementor-widget.elementor-widget.article-section {
		padding: clamp(48px,5vw,72px) clamp(20px,8.3vw,120px) clamp(56px,5.5vw,80px);
	}
}

.e-con.phases,
.elementor.elementor .elementor-widget.elementor-widget.phases {
	position: relative;
	margin-top: 56px;
	margin-block-start: 56px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.phase,
.elementor.elementor .elementor-widget.elementor-widget.phase {
	position: relative;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 16px;
	align-items: start;
}

.e-con.phase-num,
.elementor.elementor .elementor-widget.elementor-widget.phase-num {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.phase-top,
.elementor.elementor .elementor-widget.elementor-widget.phase-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 12px;
	margin-block-end: 12px;
	padding-top: 10px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.phase-top .service-eyebrow {
	margin-bottom: 0;
	margin-block-end: 0;
}

.elementor.elementor .e-con.phase-top .service-eyebrow span:last-child {
	font-size: 11.5px;
	letter-spacing: 1.5px;
}

.e-con.phase-heading,
.elementor.elementor .elementor-widget.elementor-widget.phase-heading {
	margin-bottom: 18px;
	margin-block-end: 18px;
}

.e-con.phase-table,
.elementor.elementor .elementor-widget.elementor-widget.phase-table {
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
}

.elementor.elementor .e-con.phase-col h4 {
	font-size: 13px;
	font-weight: 500;
	color: var(--navy);
	padding: 11px 20px;
}

.elementor.elementor .e-con.phase-col ul {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 16px 20px 20px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.phase-col li {
	position: relative;
	padding-left: 15px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #4c5158;
}

.elementor.elementor .e-con.phase-col li::before {
	position: absolute;
	left: 0;
	top: 7px;
	width: 4px;
	height: 4px;
}

.e-con.phase-note,
.elementor.elementor .elementor-widget.elementor-widget.phase-note {
	margin-top: 48px;
	margin-block-start: 48px;
	padding: 20px 24px;
	text-align: center;
}

@media (max-width:900px) {
	.e-con.phase,
	.elementor.elementor .elementor-widget.elementor-widget.phase {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	
	.e-con.phase-top,
	.elementor.elementor .elementor-widget.elementor-widget.phase-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	
	.e-con.phase-table,
	.elementor.elementor .elementor-widget.elementor-widget.phase-table {
		grid-template-columns: 1fr;
	}
}

.e-con.touch-text--narrow,
.elementor.elementor .elementor-widget.elementor-widget.touch-text--narrow {
	max-width: 330px;
}

@media (min-width:1440px) {
	.e-con.phase,
	.elementor.elementor .elementor-widget.elementor-widget.phase {
		grid-template-columns: 50px 1fr;
		gap: 20px;
	}
	
	.e-con.phase-num,
	.elementor.elementor .elementor-widget.elementor-widget.phase-num {
		width: 50px;
		height: 50px;
	}
	
	.e-con.phase-top,
	.elementor.elementor .elementor-widget.elementor-widget.phase-top {
		padding-top: 12px;
	}
	
	.elementor.elementor .e-con.phase-top .service-eyebrow span:last-child {
		font-size: 12.5px;
	}
	
	.e-con.phase-heading,
	.elementor.elementor .elementor-widget.elementor-widget.phase-heading {
		margin-bottom: 20px;
		margin-block-end: 20px;
	}
	
	.elementor.elementor .e-con.phase-col h4 {
		font-size: 14.5px;
		padding: 13px 24px;
	}
	
	.elementor.elementor .e-con.phase-col ul {
		gap: 9px;
		padding: 18px 24px 24px;
	}
	
	.elementor.elementor .e-con.phase-col li {
		font-size: 15px;
		line-height: 1.6;
		padding-left: 17px;
	}
	
	.e-con.phase-note,
	.elementor.elementor .elementor-widget.elementor-widget.phase-note {
		padding: 24px 32px;
	}
}

.e-con.block,
.elementor.elementor .elementor-widget.elementor-widget.block {
	padding-top: 40px;
}

.e-con.block--divided,
.elementor.elementor .elementor-widget.elementor-widget.block--divided {
	padding-bottom: 36px;
}

.e-con.block-heading,
.elementor.elementor .elementor-widget.elementor-widget.block-heading {
	margin-bottom: 18px;
	margin-block-end: 18px;
}

.elementor.elementor .e-con.block .article-text {
	margin-bottom: 0;
	margin-block-end: 0;
}

.e-con.pillars,
.elementor.elementor .elementor-widget.elementor-widget.pillars {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin-top: 26px;
	margin-block-start: 26px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.pillar-top,
.elementor.elementor .elementor-widget.elementor-widget.pillar-top {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	margin-block-end: 10px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.pillar-num,
.elementor.elementor .elementor-widget.elementor-widget.pillar-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.pillar-top h4 {
	font-size: 15px;
	font-weight: 500;
	color: #e07a1f;
}

.elementor.elementor .e-con.pillar p {
	font-size: 15px;
	line-height: 1.75;
	color: #5a5f66;
	max-width: 640px;
}

.e-con.criteria,
.elementor.elementor .elementor-widget.elementor-widget.criteria {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin-top: 40px;
	margin-block-start: 40px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.criteria-chip,
.elementor.elementor .elementor-widget.elementor-widget.criteria-chip {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex: 1 1 0;
	justify-content: center;
	padding: 14px 16px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.criteria-chip i {
	width: 5px;
	height: 5px;
	flex-shrink: 0;
}

.e-con.criteria-diamond,
.elementor.elementor .elementor-widget.elementor-widget.criteria-diamond {
	width: 104px;
	height: 104px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.criteria-diamond-inner,
.elementor.elementor .elementor-widget.elementor-widget.criteria-diamond-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.criteria-diamond-inner strong {
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 20px;
	color: #e07a1f;
}

.elementor.elementor .e-con.criteria-diamond-inner em {
	font-style: normal;
	font-size: 11px;
	color: #8b9099;
}

@media (min-width:1440px) {
	.elementor.elementor .e-con.pillar-top h4 {
		font-size: 16px;
	}
	
	.elementor.elementor .e-con.pillar p {
		font-size: 16px;
	}
}

@media (max-width:900px) {
	.e-con.criteria,
	.elementor.elementor .elementor-widget.elementor-widget.criteria {
		flex-wrap: wrap;
		gap: 12px;
	}
	
	.e-con.criteria-chip,
	.elementor.elementor .elementor-widget.elementor-widget.criteria-chip {
		flex: 1 1 40%;
		max-width: none;
	}
	
	.e-con.criteria-diamond,
	.elementor.elementor .elementor-widget.elementor-widget.criteria-diamond {
		order: -1;
		margin: 0 auto 8px;
	}
}

.e-con.cadence,
.elementor.elementor .elementor-widget.elementor-widget.cadence {
	display: flex;
	flex-direction: column;
	margin-top: 28px;
	margin-block-start: 28px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.e-con.cadence-item,
.elementor.elementor .elementor-widget.elementor-widget.cadence-item {
	padding: 28px 0;
}

.e-con.cadence-item:first-child,
.elementor.elementor .elementor-widget.elementor-widget.cadence-item:first-child {
	padding-top: 0;
}

.elementor.elementor .e-con.cadence-item img {
	width: 100%;
	aspect-ratio: 16/7;
	display: block;
	margin-bottom: 18px;
	margin-block-end: 18px;
}

.elementor.elementor .e-con.cadence-item h4 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Fraunces', serif;
	font-weight: 400;
	font-size: 19px;
	color: var(--navy);
	margin-bottom: 12px;
	margin-block-end: 12px;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.cadence-item h4 i {
	width: 7px;
	height: 7px;
	flex-shrink: 0;
	display: inline-block;
}

.elementor.elementor .e-con.cadence-item p {
	font-size: 15px;
	line-height: 1.8;
	color: #5a5f66;
}

@media (min-width:1440px) {
	.elementor.elementor .e-con.cadence-item h4 {
		font-size: 21px;
	}
	
	.elementor.elementor .e-con.cadence-item p {
		font-size: 16px;
	}
}

@media (max-width:900px) {
	.elementor.elementor .e-con.cadence-item h4 {
		font-size: 17px;
	}
}

.e-con.block--topline,
.elementor.elementor .elementor-widget.elementor-widget.block--topline {
	margin-top: 8px;
	margin-block-start: 8px;
}

.e-con.tiles,
.elementor.elementor .elementor-widget.elementor-widget.tiles {
	display: grid;
	gap: 18px;
	margin-top: 28px;
	margin-block-start: 28px;
}

.e-con.tiles--4,
.elementor.elementor .elementor-widget.elementor-widget.tiles--4 {
	grid-template-columns: repeat(4,1fr);
}

.e-con.tiles--audience,
.elementor.elementor .elementor-widget.elementor-widget.tiles--audience {
	grid-template-columns: repeat(6,1fr);
}

.elementor.elementor .e-con.tiles--audience .tile {
	grid-column: span 2;
}

.elementor.elementor .e-con.tiles--audience .tile:nth-child(4),
.elementor.elementor .e-con.tiles--audience .tile:nth-child(5) {
	grid-column: span 3;
}

.e-con.tile,
.elementor.elementor .elementor-widget.elementor-widget.tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	padding: 22px 18px;
	flex-wrap: nowrap;
	align-content: normal;
}

.e-con.tile-icon,
.elementor.elementor .elementor-widget.elementor-widget.tile-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	overflow: clip;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.tile-icon img,
.elementor.elementor .e-con.tile-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.e-con.tiles-note,
.elementor.elementor .elementor-widget.elementor-widget.tiles-note {
	margin-top: 28px;
	margin-block-start: 28px;
}

@media (min-width:1440px) {
	.e-con.tile-icon,
	.elementor.elementor .elementor-widget.elementor-widget.tile-icon {
		width: 28px;
		height: 28px;
	}
}

@media (max-width:900px) {
	.e-con.tiles--4,
	.elementor.elementor .elementor-widget.elementor-widget.tiles--4 {
		grid-template-columns: repeat(2,1fr);
	}
	
	.e-con.tiles--audience,
	.elementor.elementor .elementor-widget.elementor-widget.tiles--audience {
		grid-template-columns: repeat(2,1fr);
	}
	
	.elementor.elementor .e-con.tiles--audience .tile,
	.elementor.elementor .e-con.tiles--audience .tile:nth-child(4),
	.elementor.elementor .e-con.tiles--audience .tile:nth-child(5) {
		grid-column: span 1;
	}
}

@media (max-width:520px) {
	.e-con.tiles--4,
	.elementor.elementor .elementor-widget.elementor-widget.tiles--4,
	.e-con.tiles--audience,
	.elementor.elementor .elementor-widget.elementor-widget.tiles--audience {
		grid-template-columns: 1fr;
	}
}

.e-con.checklist,
.elementor.elementor .elementor-widget.elementor-widget.checklist {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 24px;
	margin-block-start: 24px;
	flex-wrap: nowrap;
	align-items: normal;
	align-content: normal;
	justify-content: normal;
}

.elementor.elementor .e-con.checklist li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14.5px;
	font-weight: 500;
	color: #e07a1f;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
	justify-content: normal;
}

.e-con.check,
.elementor.elementor .elementor-widget.elementor-widget.check {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: normal;
}

.elementor.elementor .e-con.check svg {
	width: 13px;
	height: 13px;
}

@media (min-width:1440px) {
	.elementor.elementor .e-con.checklist li {
		font-size: 15.5px;
	}
	
	.e-con.checklist,
	.elementor.elementor .elementor-widget.elementor-widget.checklist {
		gap: 16px;
	}
}

.elementor.elementor .e-con.article-section + .touch-section--spaced {
	padding-top: 0;
}

.e-con.article-section:has(+ .touch-section--spaced),
.elementor.elementor .elementor-widget.elementor-widget.article-section:has(+ .touch-section--spaced) {
	padding-bottom: 56px;
}

.elementor.elementor .e-con.article-section > .block--divided:last-child {
	padding-bottom: 28px;
}

.e-con.partner-label,
.elementor.elementor .elementor-widget.elementor-widget.partner-label {
	margin-top: 22px;
	margin-block-start: 22px;
}

.elementor.elementor .e-con.insight-section + .touch-section--spaced {
	padding-top: 0;
}

.e-con.insight-section:has(+ .touch-section--spaced),
.elementor.elementor .elementor-widget.elementor-widget.insight-section:has(+ .touch-section--spaced) {
	padding-bottom: 56px;
}

@media (max-width:900px) {
	.e-con.ceiling-cards,
	.elementor.elementor .elementor-widget.elementor-widget.ceiling-cards {
		row-gap: 72px;
	}
}

@media (max-width:900px) {
	.elementor.elementor .e-con.mission-row .service-media img {
		margin-left: 0;
		max-width: 100%;
	}
}

@media (max-width:1100px) {
	.e-con.hero-section,
	.elementor.elementor .elementor-widget.elementor-widget.hero-section {
		min-height: auto;
	}
}

@media (max-width:600px) {
	.elementor.elementor .e-con.breadcrumb-eyebrow span:last-child {
		font-size: 13px;
		letter-spacing: 2px;
	}
}

@media (max-width:640px) {
	.hv-nav .elementor-nav-menu {
		gap:2px;
	}
	
	.hv-nav .elementor-nav-menu li a {
		height:40px;
		font-size:14px;
		padding:4px 10px;
	}
	
	.e-con.navbar,
	.elementor.elementor .elementor-widget.elementor-widget.navbar {
		padding: 14px 20px;
	}
	
	.elementor.elementor .e-con.logo img {
		height: 38px;
	}
	
	.e-con.nav-links,
	.elementor.elementor .elementor-widget.elementor-widget.nav-links {
		gap: 2px;
	}
	
	.elementor.elementor .e-con.nav-links li a {
		height: 40px;
		font-size: 14px;
		padding: 4px 10px;
	}
}

@media (max-width:600px) {
	.elementor.elementor .e-con.hero-copy h1 {
		font-size: 30px;
		line-height: 38px;
	}
	
	.elementor.elementor .e-con.insight-card-body h3 {
		font-size: 19px;
	}
}

@media (max-width:420px) {
	.hv-btn-primary .elementor-button.elementor-button {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		border-radius:8px;
		font-weight:500;
		white-space:normal;
		transition:opacity .2s ease;
		font-size:14px;
		padding:12px 16px;
		flex-direction: row;
		flex-wrap: nowrap;
		align-content: normal;
	}
	
	.hv-newsletter-form .elementor-button[type="submit"] {
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		border-radius:8px;
		font-weight:500;
		white-space:normal;
		transition:opacity .2s ease;
		font-size:15px;
		padding:14px 22px;
		border:none;
		cursor:pointer;
		font-family:'Inter', sans-serif;
		flex-direction: row;
		flex-wrap: nowrap;
		align-content: normal;
	}
	
	.hv-insight-tabs .e-filter-item {
		font-size:13px;
		padding:12px 14px;
		white-space:normal;
	}
	
	.e-con.btn-primary,
	.elementor.elementor .elementor-widget.elementor-widget.btn-primary {
		padding: 12px 16px;
	}
	
	.e-con.insight-tab,
	.elementor.elementor .elementor-widget.elementor-widget.insight-tab {
		padding: 12px 14px;
	}
}

.elementor.elementor .e-con.logo a,
.elementor.elementor .e-con.footer-logo a {
	display: inline-block;
	line-height: 0;
}
