/* Effeect Site Kit: utilities for the redesigned pages (Figma "Effeect New Design").
   Loaded only on pages and templates built for the redesign until launch. */

:root {
	--eff-ink: #08192E;
	--eff-canvas: #FBFCF7;
	--eff-focus: #08192E;
	--eff-halo: rgba(243, 110, 33, .35);
	--eff-ease: cubic-bezier(.2, 0, 0, 1);
}

.eff-ui {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ---------- Isolation from the current site's Elementor kit ----------
   The site-wide kit (current design) styles every page: 18px space under every <p> (heading widgets
   render <p> tags too), Darker Grotesque h1-h6, orange links, filled orange buttons with a hover shadow,
   Source Sans body text. Redesigned pages take type and spacing only from their own settings, so these
   rules undo the kit's base styles. Selectors start with body.eff-ui to outrank ".elementor-kit-NNN x";
   per-widget settings (Elementor's own, more specific selectors) still win. */
body.eff-ui {
	font-family: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #08192E;
	background-color: #FBFCF7;
}
body.eff-ui p { margin-block: 0; }
body.eff-ui .elementor-heading-title { margin: 0; }
/* :where keeps this at the kit's weight (0,1,1), so widgets that style their own headings still win. */
body.eff-ui :where(h1, h2, h3, h4, h5, h6) { font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; margin: 0; }
body.eff-ui .elementor-widget-text-editor p + p { margin-block-start: .75em; }
body.eff-ui a { color: inherit; }
body.eff-ui a:hover { color: inherit; }
body.eff-ui .elementor-widget-text-editor a:not(.elementor-button):not(.eff-breadcrumb a):not(.eff-topic) { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.eff-ui .elementor-widget-text-editor a:not(.elementor-button):hover { color: #B3450B; }
body.eff-ui .elementor-button:hover,
body.eff-ui .elementor-button:focus { box-shadow: none; }
/* Icon lists: the icon-to-text gap is the Figma value (the widget's text indent). Elementor adds 5px of text
   padding and a quarter-em icon margin on top, which made fact rows wrap earlier than in the design. */
body.eff-ui .elementor-icon-list-icon + .elementor-icon-list-text { padding-inline-start: 0; }
body.eff-ui .elementor-icon-list-icon { --e-icon-list-icon-margin: 0; }
/* Icon widgets are as tall as the icon (the Figma icon box), not the body line height: an 18px icon sat in
   a 24px line and made pills and price rows 6px taller than the design. */
body.eff-ui .elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
body.eff-ui .elementor-widget-icon .elementor-icon { display: inline-flex; vertical-align: top; }
/* Buttons and text links: the widget is as tall as its button, not the body's 24px line (an 18px link stood 24px tall). */
body.eff-ui .elementor-widget-button { line-height: 0; }
body.eff-ui .elementor-widget-button .elementor-button { vertical-align: top; }
/* Figma Button icons: a 22px box on Large buttons, 20px on Medium (the glyph scales with it, as in the design). */
@media (min-width: 1025px) {
	body.eff-ui .eff-btn-lg .elementor-button-icon svg { width: 20px; height: 20px; }
	body.eff-ui .eff-btn-md .elementor-button-icon svg { width: 20px; height: 20px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .eff-btn-t-lg .elementor-button-icon svg { width: 20px; height: 20px; }
	body.eff-ui .eff-btn-t-md .elementor-button-icon svg { width: 20px; height: 20px; }
}
@media (max-width: 767px) {
	body.eff-ui .eff-btn-m-lg .elementor-button-icon svg { width: 20px; height: 20px; }
	body.eff-ui .eff-btn-m-md .elementor-button-icon svg { width: 20px; height: 20px; }
}
/* Figma buttons keep their height (every button 48 px since Oct 31; Large was 56) when a narrow column wraps the label to two lines:
   the label is centred in a minimum height instead of growing the vertical padding. (Selectors outrank the
   element's own padding rule, .elementor-N .elementor-element.elementor-element-ID .elementor-button.) */
body.eff-ui .eff-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; }
@media (min-width: 1025px) {
	body.eff-ui .elementor-element.eff-btn-lg a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; padding-inline: 22px; font-size: 16px; line-height: 20px; }
	body.eff-ui .elementor-element.eff-btn-md a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .elementor-element.eff-btn-t-lg a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; padding-inline: 22px; font-size: 16px; line-height: 20px; }
	body.eff-ui .elementor-element.eff-btn-t-md a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor-element.eff-btn-m-lg a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; padding-inline: 22px; font-size: 16px; line-height: 20px; }
	body.eff-ui .elementor-element.eff-btn-m-md a.elementor-button.elementor-button { min-height: 48px; padding-block: 2px; }
}
/* A FILL text that shares a wrapping row with a label (key and value rows): it grows from zero, as in Figma,
   instead of from its one-line width, which dropped it below the label. Tablet and phone keep their own sizing. */
@media (min-width: 1025px) {
	body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fill-d { flex-basis: 0%; min-width: min(160px, 100%); }
}
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fill-a { flex-basis: 0%; min-width: min(160px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fb0-a { flex-basis: 0%; }
/* Figma layer opacity on a frame (converter: eff-op-NN). */
.eff-op-5 { opacity: .05; } .eff-op-10 { opacity: .10; } .eff-op-15 { opacity: .15; } .eff-op-20 { opacity: .20; } .eff-op-25 { opacity: .25; } .eff-op-30 { opacity: .30; } .eff-op-35 { opacity: .35; } .eff-op-40 { opacity: .40; } .eff-op-45 { opacity: .45; } .eff-op-50 { opacity: .50; } .eff-op-55 { opacity: .55; } .eff-op-60 { opacity: .60; } .eff-op-65 { opacity: .65; } .eff-op-70 { opacity: .70; } .eff-op-75 { opacity: .75; } .eff-op-80 { opacity: .80; } .eff-op-85 { opacity: .85; } .eff-op-90 { opacity: .90; } .eff-op-95 { opacity: .95; }
/* Section backgrounds the Figma tablet / phone frames change (Elementor's background colour is not responsive). */
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .elementor .e-con.eff-bg-t-canvas:not(.elementor-motion-effects-element-type-background) { background-color: #FBFCF7; }
	body.eff-ui .elementor .e-con.eff-bg-t-surface:not(.elementor-motion-effects-element-type-background) { background-color: #FFFFFF; }
	body.eff-ui .elementor .e-con.eff-bg-t-subtle:not(.elementor-motion-effects-element-type-background) { background-color: #F5F4EC; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor .e-con.eff-bg-m-canvas:not(.elementor-motion-effects-element-type-background) { background-color: #FBFCF7; }
	body.eff-ui .elementor .e-con.eff-bg-m-surface:not(.elementor-motion-effects-element-type-background) { background-color: #FFFFFF; }
	body.eff-ui .elementor .e-con.eff-bg-m-subtle:not(.elementor-motion-effects-element-type-background) { background-color: #F5F4EC; }
}
/* Wrapping fact rows (inline icon lists): Figma's gap between their lines, on desktop. */
@media (min-width: 1025px) {
	body.eff-ui .eff-il-rg-4 .elementor-icon-list-items.elementor-inline-items { row-gap: 4px; }
	body.eff-ui .eff-il-rg-6 .elementor-icon-list-items.elementor-inline-items { row-gap: 6px; }
	body.eff-ui .eff-il-rg-8 .elementor-icon-list-items.elementor-inline-items { row-gap: 8px; }
	body.eff-ui .eff-il-rg-10 .elementor-icon-list-items.elementor-inline-items { row-gap: 10px; }
	body.eff-ui .eff-il-rg-12 .elementor-icon-list-items.elementor-inline-items { row-gap: 12px; }
}
/* Text links (Figma TextLink rows): the arrow is a 16px icon (18px on a few larger links), not the label size. */
body.eff-ui .eff-link-ic-16 .elementor-button-icon svg, body.eff-ui .eff-link-ic-16 .elementor-button-icon .eff-i-wrap { width: 16px; height: 16px; }
body.eff-ui .eff-link-ic-18 .elementor-button-icon svg, body.eff-ui .eff-link-ic-18 .elementor-button-icon .eff-i-wrap { width: 18px; height: 18px; }
/* Text whose tablet / phone style changes weight, family or case (Elementor typography cannot): converter classes. */
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .elementor .elementor-element.eff-fw-t-400, body.eff-ui .elementor .elementor-element.eff-fw-t-400 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 400; }
	body.eff-ui .elementor .elementor-element.eff-fw-t-500, body.eff-ui .elementor .elementor-element.eff-fw-t-500 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 500; }
	body.eff-ui .elementor .elementor-element.eff-fw-t-600, body.eff-ui .elementor .elementor-element.eff-fw-t-600 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 600; }
	body.eff-ui .elementor .elementor-element.eff-fw-t-700, body.eff-ui .elementor .elementor-element.eff-fw-t-700 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 700; }
	body.eff-ui .elementor .elementor-element.eff-fw-t-800, body.eff-ui .elementor .elementor-element.eff-fw-t-800 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 800; }
	body.eff-ui .elementor .elementor-element.eff-ff-t-display, body.eff-ui .elementor .elementor-element.eff-ff-t-display :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Bricolage Grotesque", system-ui, sans-serif; }
	body.eff-ui .elementor .elementor-element.eff-ff-t-body, body.eff-ui .elementor .elementor-element.eff-ff-t-body :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Figtree", system-ui, sans-serif; }
	body.eff-ui .elementor .elementor-element.eff-ff-t-mono, body.eff-ui .elementor .elementor-element.eff-ff-t-mono :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Geist Mono", ui-monospace, monospace; }
	body.eff-ui .elementor .elementor-element.eff-case-t-upper, body.eff-ui .elementor .elementor-element.eff-case-t-upper :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { text-transform: uppercase; letter-spacing: .06em; }
	body.eff-ui .elementor .elementor-element.eff-case-t-none, body.eff-ui .elementor .elementor-element.eff-case-t-none :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { text-transform: none; letter-spacing: 0; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor .elementor-element.eff-fw-m-400, body.eff-ui .elementor .elementor-element.eff-fw-m-400 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 400; }
	body.eff-ui .elementor .elementor-element.eff-fw-m-500, body.eff-ui .elementor .elementor-element.eff-fw-m-500 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 500; }
	body.eff-ui .elementor .elementor-element.eff-fw-m-600, body.eff-ui .elementor .elementor-element.eff-fw-m-600 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 600; }
	body.eff-ui .elementor .elementor-element.eff-fw-m-700, body.eff-ui .elementor .elementor-element.eff-fw-m-700 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 700; }
	body.eff-ui .elementor .elementor-element.eff-fw-m-800, body.eff-ui .elementor .elementor-element.eff-fw-m-800 :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-weight: 800; }
	body.eff-ui .elementor .elementor-element.eff-ff-m-display, body.eff-ui .elementor .elementor-element.eff-ff-m-display :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Bricolage Grotesque", system-ui, sans-serif; }
	body.eff-ui .elementor .elementor-element.eff-ff-m-body, body.eff-ui .elementor .elementor-element.eff-ff-m-body :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Figtree", system-ui, sans-serif; }
	body.eff-ui .elementor .elementor-element.eff-ff-m-mono, body.eff-ui .elementor .elementor-element.eff-ff-m-mono :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { font-family: "Geist Mono", ui-monospace, monospace; }
	body.eff-ui .elementor .elementor-element.eff-case-m-upper, body.eff-ui .elementor .elementor-element.eff-case-m-upper :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { text-transform: uppercase; letter-spacing: .06em; }
	body.eff-ui .elementor .elementor-element.eff-case-m-none, body.eff-ui .elementor .elementor-element.eff-case-m-none :is(.elementor-heading-title, .elementor-button, .elementor-icon-list-text, p) { text-transform: none; letter-spacing: 0; }
}
/* Cards with a Figma max width (converter: eff-maxw-N): the card stops at that width; the parent centres it or not. */
body.eff-ui .elementor .e-con.eff-maxw-560 { max-width: min(100%, 560px); }
body.eff-ui .elementor .e-con.eff-maxw-640 { max-width: min(100%, 640px); }
body.eff-ui .elementor .e-con.eff-maxw-742 { max-width: min(100%, 742px); }
body.eff-ui .elementor .e-con.eff-maxw-760 { max-width: min(100%, 760px); }
body.eff-ui .elementor .e-con.eff-maxw-820 { max-width: min(100%, 820px); }
/* A form row Figma gives a 44px minimum height (newsletter consent checkbox): content stays at the top. */
body.eff-ui .eff-field-mh44 .egp-f { min-height: 44px; }
/* Tracked labels in table cells (converter: eff-trk-fit): room for the trailing letter spacing Figma does not count. */
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-trk-fit { margin-inline-end: -1px; }
/* Link tiles (Figma bordered link rows, 404 popular links): the whole tile is the link. */
body.eff-ui a.e-con.eff-tile-link { text-decoration: none; transition: border-color .2s var(--eff-ease), background-color .2s var(--eff-ease); }
@media (hover: hover) and (pointer: fine) {
	body.eff-ui a.e-con.eff-tile-link:hover { border-color: rgba(8, 25, 46, .14); background-color: #FFFFFF; }
	body.eff-ui a.e-con.eff-tile-link:not(.eff-footer-email):not(.eff-lp-help):hover .elementor-heading-title { color: #B3450B; }
}
body.eff-ui a.e-con.eff-tile-link:focus-visible { outline: 2px solid var(--eff-focus); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo); }
/* An empty Figma layout spacer beside a card (client login): it takes the room the card leaves, and gives way first. */
body.eff-ui .elementor .e-con.eff-row-spacer { flex: 1 1 0%; min-width: 0; }
/* A form's outcome slot (error summary or request card): takes no room while it has nothing to show. */
body.eff-ui .elementor-widget.eff-form-status:not(:has(.egp-status-on)) { display: none; }
/* Flow pages (trial brief): a slim header row and a Back / continue row that stay rows on every screen. */
@media (max-width: 1024px) {
	body.eff-ui .elementor .e-con.eff-spacer { display: none; }
	body.eff-ui .elementor .e-con.eff-flow-header, body.eff-ui .elementor .e-con.eff-actions-split { --justify-content: space-between; justify-content: space-between; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor .e-con.eff-flow-header { --gap: 12px; gap: 12px; }
	body.eff-ui .elementor .e-con.eff-flow-header .elementor-widget-image { width: 120px; max-width: 120px; flex: none; }
	body.eff-ui .elementor .e-con.eff-flow-header > .e-con:last-child,
	body.eff-ui .elementor .e-con.eff-flow-header > .e-con-inner > .e-con:last-child { flex: 0 1 auto; min-width: 0; }
	body.eff-ui .elementor .e-con.eff-flow-header .elementor-widget-heading { flex: 0 1 auto; min-width: 0; }
	body.eff-ui .elementor .e-con.eff-flow-header .elementor-widget-heading .elementor-heading-title { font-size: 12px; line-height: 16px; white-space: normal; text-align: right; }
	body.eff-ui .elementor .e-con.eff-actions-split { --flex-direction: column-reverse; flex-direction: column-reverse; --align-items: stretch; align-items: stretch; }
	body.eff-ui .eff-actions-split .elementor-widget { width: 100%; max-width: 100%; }
	body.eff-ui .eff-actions-split .elementor-button, body.eff-ui .eff-actions-split .egp-btn { width: 100%; }
}
/* Phone: a full-width button whose Figma label fills and centres, the trailing icon pinned to the right edge. */
@media (max-width: 767px) {
	body.eff-ui .elementor-widget-button.eff-btn-spread-m .elementor-button-content-wrapper { width: 100%; }
	body.eff-ui .elementor-widget-button.eff-btn-spread-m .elementor-button-text { flex: 1 1 auto; text-align: center; }
}
/* FILL items with a Figma min width in a wrapping row (checkbox groups, form rows, button pairs): break lines at the
   min width, then grow into what is left. */
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-160 { flex-basis: 160px; min-width: min(160px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-180 { flex-basis: 180px; min-width: min(180px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-200 { flex-basis: 200px; min-width: min(200px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-220 { flex-basis: 220px; min-width: min(220px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-240 { flex-basis: 240px; min-width: min(240px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-260 { flex-basis: 260px; min-width: min(260px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-280 { flex-basis: 280px; min-width: min(280px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-300 { flex-basis: 300px; min-width: min(300px, 100%); }
body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-mnw-320 { flex-basis: 320px; min-width: min(320px, 100%); }
/* FILL texts in a row share its free space equally, as in Figma (table cells), at the widths the converter marks. */
@media (min-width: 1025px) { body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fb0-d { flex-basis: 0%; } }
@media (min-width: 768px) and (max-width: 1024px) { body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fb0-t { flex-basis: 0%; } }
@media (max-width: 767px) { body.eff-ui :is(.e-con, .e-con-inner) > .elementor-widget.eff-fb0-m { flex-basis: 0%; } }
/* The current site's "Magic Mouse" cursor (custom code) is not part of the redesign. */
body.eff-ui #magicMouseCursor,
body.eff-ui #magicPointer { display: none !important; }

.eff-ui .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Focus: 2px ink ring plus orange halo (Figma focus state). Dark sections flip the ring colour. */
.eff-ui :focus-visible {
	outline: 2px solid var(--eff-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--eff-halo);
}
.eff-dark { --eff-focus: #FBFCF7; }
.eff-ui .elementor-button:focus-visible { outline-offset: 3px; }
/* Regions that receive focus from a script so screen readers announce them (a request card, an error summary
   heading) are not controls: no ring, they keep their own look. */
.eff-ui [tabindex="-1"]:focus-visible { outline: 0; box-shadow: none; }
.eff-ui .egp-card[tabindex="-1"]:focus-visible { box-shadow: 0 8px 24px rgba(8, 25, 46, .1); }

/* Containers never grow wider than their parent on small screens. */
.eff-ui .e-con { max-width: 100%; }
.eff-ui .elementor-widget { max-width: 100%; }

/* Images whose Figma export includes a shadow or overflow outside the design box (see Assets::image_bleed).
   The picture is wider than its box and pulled back with negative margins, so the box keeps its size.
   Percentages in margins are relative to the box width, so this scales at every screen width. */
.eff-bleed,
.eff-bleed > .elementor-widget-container { overflow: visible; }
.eff-bleed img {
	display: block;
	width: calc(var(--eff-bw) * 100%) !important;
	max-width: none !important;
	height: auto !important;
	margin: calc(var(--eff-bt) * -100%) calc(var(--eff-br) * -100%) calc(var(--eff-bb) * -100%) calc(var(--eff-bl) * -100%) !important;
}

/* Effeect line icons sit in an <i> so widgets that colour font icons also colour them (see Assets::render_icon).
   The wrapper must not add the extra width Elementor gives font icons. */
i.eff-i-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: auto;
	font-style: normal;
	line-height: 1;
	vertical-align: middle;
}

/* Inline icon lists (facts) that the phone design stacks one per line. */
@media (max-width: 767px) {
	.eff-list-stack-m .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; gap: 8px; margin: 0 !important; }
	.eff-list-stack-m .elementor-icon-list-items.elementor-inline-items > .elementor-icon-list-item { margin: 0 !important; }
	.eff-list-stack-m .elementor-icon-list-items.elementor-inline-items > .elementor-icon-list-item::after { display: none; }
}

/* Effect styles from the Figma file (Shadow/*, Glow/*, Glass/*). Elementor's own shadow control holds one
   shadow; these keep the two-layer shadows exact. The builder adds the class instead of a shadow setting. */
.eff-fx-shadow-xs { box-shadow: 0 1px 2px rgba(8, 25, 46, .06); }
.eff-fx-shadow-s { box-shadow: 0 1px 2px rgba(8, 25, 46, .04), 0 2px 8px rgba(8, 25, 46, .06); }
.eff-fx-shadow-m { box-shadow: 0 2px 6px rgba(8, 25, 46, .04), 0 8px 24px rgba(8, 25, 46, .08); }
.eff-fx-shadow-l { box-shadow: 0 8px 16px rgba(8, 25, 46, .06), 0 24px 48px rgba(8, 25, 46, .12); }
.eff-fx-glow { box-shadow: 0 0 48px rgba(243, 110, 33, .3), 0 16px 80px rgba(243, 110, 33, .16); }
.eff-fx-glow-ring { box-shadow: 0 0 16px 1px rgba(243, 110, 33, .45); }
.eff-fx-glass-nav { box-shadow: 0 4px 16px rgba(8, 25, 46, .06); }
.eff-fx-glass-panel { box-shadow: 0 16px 40px rgba(8, 25, 46, .08), inset 0 1px 0 rgba(255, 255, 255, .7); }
.eff-fx-glass-dark { box-shadow: 0 24px 48px rgba(4, 13, 26, .4), inset 0 1px 0 rgba(255, 255, 255, .1); }

/* Hover and keyboard focus for cards (Figma ServiceCard / CaseStudyCard State=Hover). The design shows one
   card in this state; on the site every card starts in its default state and reacts to the pointer.
   Touch screens never get the hover look (a tap would leave a card looking selected), and focus shows it only
   for the keyboard (:focus-visible), not after a tap on a link inside the card.
   !important: Elementor writes each card's border and shadow with more specific selectors. */
.eff-hover-glow,
.eff-hover-lift { transition: border-color .24s var(--eff-ease), box-shadow .24s var(--eff-ease), transform .24s var(--eff-ease); }
.eff-hover-glow:has(:focus-visible) {
	border-color: #D9580F !important;
	box-shadow: inset 0 0 0 .5px #D9580F, 0 0 48px rgba(243, 110, 33, .3), 0 16px 80px rgba(243, 110, 33, .16) !important;
}
.eff-hover-lift:has(:focus-visible) {
	border-color: #74859A !important;
	box-shadow: 0 2px 6px rgba(8, 25, 46, .04), 0 8px 24px rgba(8, 25, 46, .08) !important;
}
/* The recommended plan keeps its glow; it lifts like the others. */
.eff-hover-lift.eff-fx-glow:has(:focus-visible) {
	border-color: #D9580F !important;
	box-shadow: 0 0 48px rgba(243, 110, 33, .34), 0 16px 80px rgba(243, 110, 33, .2) !important;
}
@media (hover: hover) and (pointer: fine) {
	/* Only cards that open something react to the pointer (Oct 20 2026): a card that lifts or glows on hover
	   reads as a link, so cards without a link (reviews, process steps, tiles) stay still. */
	:is(a[href].eff-hover-glow, .eff-hover-glow:has(a[href])):hover {
		border-color: #D9580F !important;
		box-shadow: inset 0 0 0 .5px #D9580F, 0 0 48px rgba(243, 110, 33, .3), 0 16px 80px rgba(243, 110, 33, .16) !important;
	}
	:is(a[href].eff-hover-lift, .eff-hover-lift:has(a[href])):hover {
		border-color: #74859A !important;
		box-shadow: 0 2px 6px rgba(8, 25, 46, .04), 0 8px 24px rgba(8, 25, 46, .08) !important;
		transform: translateY(-2px);
	}
	:is(a[href].eff-hover-lift, .eff-hover-lift:has(a[href])).eff-fx-glow:hover {
		border-color: #D9580F !important;
		box-shadow: 0 0 48px rgba(243, 110, 33, .34), 0 16px 80px rgba(243, 110, 33, .2) !important;
	}
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: reduce) {
	:is(a[href].eff-hover-lift, .eff-hover-lift:has(a[href])):hover { transform: none; }
}

/* Pointer glow (Figma "Pointer glow (follows cursor)"): a soft light and a lit border that follow the pointer
   (positions set by site.js). Only with a mouse or trackpad; keyboard focus lights the border. */
.eff-pointer-card { --eff-mx: 50%; --eff-my: 0px; isolation: isolate; }
.e-con.eff-pointer-card::before,
.e-con.eff-pointer-card::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	transition: opacity .24s var(--eff-ease);
}
.e-con.eff-pointer-card::before {
	z-index: 0;
	background: radial-gradient(420px circle at var(--eff-mx) var(--eff-my), rgba(243, 110, 33, .16), rgba(243, 110, 33, 0) 70%);
}
.e-con.eff-pointer-card::after {
	z-index: 2;
	padding: 1.5px;
	background: radial-gradient(520px circle at var(--eff-mx) var(--eff-my), #F36E21, rgba(243, 110, 33, .3) 60%, rgba(222, 219, 204, 0) 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
}
.e-con.eff-pointer-card:has(:focus-visible)::after { opacity: 1; }
.eff-pointer-card:has(:focus-visible) {
	box-shadow: 0 0 48px rgba(243, 110, 33, .3), 0 16px 80px rgba(243, 110, 33, .16) !important;
}
@media (hover: hover) and (pointer: fine) {
	/* Only cards with a link light up (the workspace tiles on the home page have none). */
	.e-con.eff-pointer-card:has(a[href]):hover::before,
	.e-con.eff-pointer-card:has(a[href]):hover::after { opacity: 1; }
	.eff-pointer-card:has(a[href]):hover {
		box-shadow: 0 0 48px rgba(243, 110, 33, .3), 0 16px 80px rgba(243, 110, 33, .16) !important;
	}
}

/* Phones: a card that shows its icon beside the copy (Figma 390 frames), built from a desktop column. */
@media (max-width: 767px) {
	.e-con.eff-m-iconrow {
		--display: grid;
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		align-content: start;
	}
	.e-con.eff-m-iconrow > .elementor-element { grid-column: 2; min-width: 0; }
	.e-con.eff-m-iconrow > .elementor-element:first-child { grid-column: 1; grid-row: 1 / span var(--eff-rows, 2); }
}
/* Wrappers the Figma 768 / 390 frames do without: their children lay out among the wrapper's siblings. */
@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.eff-flat-t, .e-con.eff-flat-t > .e-con-inner { --display: contents; display: contents !important; }
	/* Free trial: the 768 frame lays the four deliverable cards out two to a line (Figma "Options (2-up)"); the
	   desktop rows they sit in are flattened, so the cards share the options row in pairs. */
	body.eff-ui .egp-trial-options > .e-con.eff-flat-t > .elementor-widget-shortcode,
	body.eff-ui .egp-trial-options > .e-con.eff-flat-t > .e-con-inner > .elementor-widget-shortcode { width: calc((100% - 16px) / 2) !important; max-width: calc((100% - 16px) / 2); flex: 1 0 auto; }
}
@media (max-width: 767px) {
	.e-con.eff-flat-m, .e-con.eff-flat-m > .e-con-inner { --display: contents; display: contents !important; }
}

/* FAQ accordions that leave questions out on tablets or phones: space the questions with a flex gap, which
   skips hidden questions, instead of Elementor's margin after every question but the last in the markup. */
.elementor-widget-n-accordion[class*="eff-acc-t-hide-"] .e-n-accordion,
.elementor-widget-n-accordion[class*="eff-acc-m-hide-"] .e-n-accordion { display: flex; flex-direction: column; gap: var(--n-accordion-item-title-space-between); }
.elementor-widget-n-accordion[class*="eff-acc-t-hide-"] .e-n-accordion > .e-n-accordion-item,
.elementor-widget-n-accordion[class*="eff-acc-m-hide-"] .e-n-accordion > .e-n-accordion-item { margin-block-end: 0; }

/* FAQ questions the Figma 768 / 390 frames leave out (the accordion stays one widget). */
@media (min-width: 768px) and (max-width: 1024px) {
	.eff-acc-t-hide-1 .e-n-accordion > .e-n-accordion-item:nth-of-type(1) { display: none; }
	.eff-acc-t-hide-2 .e-n-accordion > .e-n-accordion-item:nth-of-type(2) { display: none; }
	.eff-acc-t-hide-3 .e-n-accordion > .e-n-accordion-item:nth-of-type(3) { display: none; }
	.eff-acc-t-hide-4 .e-n-accordion > .e-n-accordion-item:nth-of-type(4) { display: none; }
	.eff-acc-t-hide-5 .e-n-accordion > .e-n-accordion-item:nth-of-type(5) { display: none; }
	.eff-acc-t-hide-6 .e-n-accordion > .e-n-accordion-item:nth-of-type(6) { display: none; }
	.eff-acc-t-hide-7 .e-n-accordion > .e-n-accordion-item:nth-of-type(7) { display: none; }
	.eff-acc-t-hide-8 .e-n-accordion > .e-n-accordion-item:nth-of-type(8) { display: none; }
	.eff-acc-t-hide-9 .e-n-accordion > .e-n-accordion-item:nth-of-type(9) { display: none; }
	.eff-acc-t-hide-10 .e-n-accordion > .e-n-accordion-item:nth-of-type(10) { display: none; }
	.eff-acc-t-hide-11 .e-n-accordion > .e-n-accordion-item:nth-of-type(11) { display: none; }
	.eff-acc-t-hide-12 .e-n-accordion > .e-n-accordion-item:nth-of-type(12) { display: none; }
}
@media (max-width: 767px) {
	.eff-acc-m-hide-1 .e-n-accordion > .e-n-accordion-item:nth-of-type(1) { display: none; }
	.eff-acc-m-hide-2 .e-n-accordion > .e-n-accordion-item:nth-of-type(2) { display: none; }
	.eff-acc-m-hide-3 .e-n-accordion > .e-n-accordion-item:nth-of-type(3) { display: none; }
	.eff-acc-m-hide-4 .e-n-accordion > .e-n-accordion-item:nth-of-type(4) { display: none; }
	.eff-acc-m-hide-5 .e-n-accordion > .e-n-accordion-item:nth-of-type(5) { display: none; }
	.eff-acc-m-hide-6 .e-n-accordion > .e-n-accordion-item:nth-of-type(6) { display: none; }
	.eff-acc-m-hide-7 .e-n-accordion > .e-n-accordion-item:nth-of-type(7) { display: none; }
	.eff-acc-m-hide-8 .e-n-accordion > .e-n-accordion-item:nth-of-type(8) { display: none; }
	.eff-acc-m-hide-9 .e-n-accordion > .e-n-accordion-item:nth-of-type(9) { display: none; }
	.eff-acc-m-hide-10 .e-n-accordion > .e-n-accordion-item:nth-of-type(10) { display: none; }
	.eff-acc-m-hide-11 .e-n-accordion > .e-n-accordion-item:nth-of-type(11) { display: none; }
	.eff-acc-m-hide-12 .e-n-accordion > .e-n-accordion-item:nth-of-type(12) { display: none; }
}

/* A card's icon tile takes the brand colour while the card is hovered (mouse) or keyboard-focused; the icon on it
   is white like every label on orange (Oct 31 2026). */
.eff-hover-tile { transition: background-color .2s var(--eff-ease, ease); }
.eff-hover-tile .elementor-icon { transition: color .2s var(--eff-ease, ease); }
.eff-pointer-card:has(:focus-visible) .eff-hover-tile,
.eff-hover-glow:has(:focus-visible) .eff-hover-tile { background-color: #F36E21 !important; }
.eff-pointer-card:has(:focus-visible) .eff-hover-tile .elementor-icon,
.eff-hover-glow:has(:focus-visible) .eff-hover-tile .elementor-icon { color: #FFFFFF !important; }
@media (hover: hover) and (pointer: fine) {
	:is(a[href].eff-pointer-card, .eff-pointer-card:has(a[href])):hover .eff-hover-tile,
	:is(a[href].eff-hover-glow, .eff-hover-glow:has(a[href])):hover .eff-hover-tile { background-color: #F36E21 !important; }
	:is(a[href].eff-pointer-card, .eff-pointer-card:has(a[href])):hover .eff-hover-tile .elementor-icon,
	:is(a[href].eff-hover-glow, .eff-hover-glow:has(a[href])):hover .eff-hover-tile .elementor-icon { color: #FFFFFF !important; }
}

/* Price cards: "Full scope and definitions" opens the plan's definitions and terms inside the card
   (details/summary, so it works with the keyboard and without scripts). Pinned to the bottom of the card so the
   row lines up across a set of equal-height cards. */
body.eff-ui .elementor-widget-html.eff-scope-w { width: 100%; max-width: 100%; align-self: stretch; margin-top: auto; }
.eff-scope { border-top: 1px solid #DEDBCD; }
.eff-scope > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding-top: 12px; cursor: pointer; list-style: none;
	font-family: var(--e-global-typography-efflabels-font-family, "Figtree"), sans-serif; font-size: var(--e-global-typography-efflabels-font-size, 14px);
	font-weight: var(--e-global-typography-efflabels-font-weight, 600); line-height: var(--e-global-typography-efflabels-line-height, 20px); color: #B3450B; }
.eff-scope > summary::-webkit-details-marker { display: none; }
.eff-scope > summary::marker { content: ""; }
.eff-scope > summary svg { flex: none; width: 16px; height: 16px; transition: transform .2s var(--eff-ease, ease); }
.eff-scope[open] > summary svg { transform: rotate(180deg); }
.eff-scope > summary:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; border-radius: 8px; }
@media (hover: hover) and (pointer: fine) { .eff-scope > summary:hover span { text-decoration: underline; text-underline-offset: 3px; } }
.eff-scope-body { padding: 8px 0 4px; font-size: 14px; line-height: 22px; color: #3E4F63; }
.eff-scope-body dl { margin: 0; display: grid; gap: 12px; }
.eff-scope-body dt { margin: 0; font-weight: 600; color: #08192E; }
.eff-scope-body dd { margin: 2px 0 0; }
.eff-scope-terms { margin: 16px 0 0 !important; padding-top: 12px; border-top: 1px solid #EBE9DE; font-size: 13px; line-height: 20px; color: #3E4F63; }
.eff-scope-terms a { color: #08192E; text-decoration: underline; text-underline-offset: 2px; }
.eff-dark .eff-scope, .eff-fx-glass-dark .eff-scope { border-top-color: rgba(255, 255, 255, .16); }

/* Fact lists the Figma 768 / 390 frames lay out in columns. */
@media (min-width: 768px) and (max-width: 1024px) {
	.eff-list-cols-t-2 .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; row-gap: 12px; }
	.eff-list-cols-t-3 .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; row-gap: 12px; }
	:is(.eff-list-cols-t-2, .eff-list-cols-t-3) .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; align-items: flex-start; }
	:is(.eff-list-cols-t-2, .eff-list-cols-t-3) .elementor-icon-list-item::after { display: none; }
}
@media (max-width: 767px) {
	.eff-list-cols-m-2 .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; row-gap: 10px; }
	.eff-list-cols-m-2 .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; align-items: flex-start; }
	.eff-list-cols-m-2 .elementor-icon-list-item::after { display: none; }
}

/* Fact rows that wrap onto more lines keep the Figma row gap between lines. */
.eff-list-rg-4 .elementor-icon-list-items.elementor-inline-items { row-gap: 4px; }
.eff-list-rg-6 .elementor-icon-list-items.elementor-inline-items { row-gap: 6px; }
.eff-list-rg-8 .elementor-icon-list-items.elementor-inline-items { row-gap: 8px; }
.eff-list-rg-10 .elementor-icon-list-items.elementor-inline-items { row-gap: 10px; }
.eff-list-rg-12 .elementor-icon-list-items.elementor-inline-items { row-gap: 12px; }
.eff-list-rg-16 .elementor-icon-list-items.elementor-inline-items { row-gap: 16px; }

/* Rows of copy beside the icon (used by the phone and tablet icon rows). */
.eff-m-rows-2 { --eff-rows: 2; }
.eff-m-rows-3 { --eff-rows: 3; }
.eff-m-rows-4 { --eff-rows: 4; }

/* Tablets: the same icon-beside-copy card and stacked fact lists (Figma 768 frames). */
@media (min-width: 768px) and (max-width: 1024px) {
	.e-con.eff-t-iconrow {
		--display: grid;
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: start;
		align-content: start;
	}
	.e-con.eff-t-iconrow > .elementor-element { grid-column: 2; min-width: 0; }
	.e-con.eff-t-iconrow > .elementor-element:first-child { grid-column: 1; grid-row: 1 / span var(--eff-rows, 2); }
	.eff-list-stack-t .elementor-icon-list-items.elementor-inline-items { flex-direction: column; align-items: flex-start; gap: 8px; margin: 0 !important; }
	.eff-list-stack-t .elementor-icon-list-items.elementor-inline-items > .elementor-icon-list-item { margin: 0 !important; }
	.eff-list-stack-t .elementor-icon-list-items.elementor-inline-items > .elementor-icon-list-item::after { display: none; }
}

/* Segmented control (Figma SegmentedControl): the selected option is a white tab on the sand track. */
.eff-segmented .eff-seg .elementor-button { transition: background-color .2s var(--eff-ease), color .2s var(--eff-ease), box-shadow .2s var(--eff-ease); }
.eff-segmented .eff-seg.is-selected .elementor-button { background-color: #FFFFFF !important; color: #08192E !important; box-shadow: 0 1px 3px rgba(8, 25, 46, .12) !important; }
.eff-segmented .eff-seg:not(.is-selected) .elementor-button:hover { background-color: #F5F4EC !important; color: #08192E !important; }

/* Status chips with a dot (Figma StatusChip Dot=true): 8px dot in the chip's text colour. */
.eff-dot .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: currentColor;
	margin-inline-end: 6px;
	vertical-align: 1px;
}

/* Feature lists (Figma FeatureItem): a 22px round marker behind the 15px glyph, 10px before the text. */
body.eff-ui .eff-feat .elementor-icon-list-icon {
	width: 22px; height: 22px; flex: none;
	border-radius: 50%;
	justify-content: center; align-items: center;
	margin-inline-end: 10px;
}
body.eff-ui .eff-feat-included .elementor-icon-list-icon { background: #FFF4EC; }
body.eff-ui .eff-feat-excluded .elementor-icon-list-icon { background: #F5F4EC; }
body.eff-ui .eff-feat-note .elementor-icon-list-icon { background: #EDF3FE; }

/* A Figma max width on a stretched frame (the hero buttons' 560px row): the boxed inner keeps that width but
   starts at the column's start edge instead of centring. */
body.eff-ui .e-con.eff-mx-start > .e-con-inner { margin-inline-start: 0; margin-inline-end: auto; }

/* Accordion question (Figma AccordionItem: Figtree SemiBold 18/26). Elementor styles it with zero-specificity
   selectors, which the site kit's h3 rule outranks, so the type is set here. */
body.eff-ui .eff-accordion .e-n-accordion-item-title-text {
	font-family: "Figtree", system-ui, sans-serif; font-weight: 600; font-size: 18px; line-height: 26px; letter-spacing: 0;
}
@media (max-width: 767px) {
	body.eff-ui .eff-accordion .e-n-accordion-item-title-text { font-size: 17px; line-height: 24px; }
}

/* Accordion header (Figma AccordionItem "Header"): question and toggle 16px apart, so questions wrap where the design does. */
body.eff-ui .eff-accordion .e-n-accordion-item-title { column-gap: 16px; }

/* Accordion toggle (Figma AccordionItem "Toggle icon"): 32px circle, sand when closed, ink when open. */
body.eff-ui .eff-accordion .e-n-accordion-item-title-icon > span {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: #F5F4EC;
	transition: background-color .2s var(--eff-ease);
}
body.eff-ui .eff-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon > span { background: #08192E; }
body.eff-ui .eff-accordion .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon > span { background: #EBE9DE; }
body.eff-ui .eff-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon > span { background: #172A40; }

/* Accordion divider (Figma AccordionItem bottom stroke): drawn under the whole item, so an open answer sits
   above the line. Subtle when closed, stronger on hover and when open. */
body.eff-ui .eff-accordion .e-n-accordion-item {
	border-bottom: 1px solid #DEDBCD;
	transition: border-color .2s var(--eff-ease);
}
body.eff-ui .eff-accordion .e-n-accordion-item:hover,
body.eff-ui .eff-accordion .e-n-accordion-item[open] { border-bottom-color: rgba(8, 25, 46, .14); }
body.eff-ui .eff-accordion-dark .e-n-accordion-item { border-bottom-color: rgba(255, 255, 255, .12); }
body.eff-ui .eff-accordion-dark .e-n-accordion-item:hover,
body.eff-ui .eff-accordion-dark .e-n-accordion-item[open] { border-bottom-color: rgba(255, 255, 255, .24); }

/* Decorative glows (Figma radial ellipses): placed behind the content of an isolated parent. */
.eff-isolate { isolation: isolate; }
.eff-glow-wrap { pointer-events: none; }
.eff-glow-wrap .eff-glow { display: block; max-width: none; }

/* Glass surfaces (Figma bg/glass with background blur 20). */
.eff-glass {
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}

/* Numbers that line up (prices, stats). */
.eff-tnum, .eff-tnum * { font-variant-numeric: tabular-nums lining-nums; }

/* Visually hidden text for screen readers. */
.eff-sr-only {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Breadcrumbs */
.eff-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.eff-breadcrumb li { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
/* Figma Breadcrumb: 14px chevron, 8px either side, the secondary text colour (also before the current page). */
.eff-breadcrumb li + li::before { content: ""; flex: none; width: 14px; height: 14px; background-color: #3E4F63;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6L15 12L9 18'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6L15 12L9 18'/%3E%3C/svg%3E") center/contain no-repeat; }
body.eff-ui .eff-breadcrumb a { color: inherit; text-decoration: none; }
body.eff-ui .eff-breadcrumb a:hover { color: var(--e-global-color-efftextprimary, #08192E); text-decoration: underline; text-underline-offset: 3px; }
.eff-breadcrumb [aria-current="page"] { color: var(--e-global-color-efftextprimary, #08192E); }

/* Whole card is clickable through its main link (site.js); keyboard and screen-reader users get one link per card. */
.eff-card-link { cursor: pointer; }
/* A card that keeps the card-link layout class but has nothing to open (some case studies) shows no hand. */
.eff-card-link:not(:has(.eff-stretch a[href], a.eff-stretch[href])) { cursor: auto; }
.eff-card-link:hover .eff-stretch:not(.eff-btn-primary) .elementor-button,
.eff-card-link:focus-within .eff-stretch:not(.eff-btn-primary) .elementor-button { color: #08192E !important; }
/* Oct 31 2026: an orange (primary) button in a hovered card keeps its white label, like every orange button. */
.eff-card-link:hover .eff-stretch.eff-btn-primary .elementor-button,
.eff-card-link:focus-within .eff-stretch.eff-btn-primary .elementor-button { color: #FFFFFF !important; }

/* Respect reduced motion everywhere on the redesigned pages. */
@media (prefers-reduced-motion: reduce) {
	.eff-ui *, .eff-ui *::before, .eff-ui *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* BEGIN aurora: generated by builder/aurora_css.py from the Figma Aurora component. Do not edit by hand. */
/* Five blurred blobs and a readability veil, drawn in the box of the section's Aurora instance; the blobs move
   through the component frames A > B > C in a 48s loop. */
@property --eff-b1x { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b1y { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b2x { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b2y { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b3x { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b3y { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b4x { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b4y { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b5x { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
@property --eff-b5y { syntax: '<percentage>'; inherits: false; initial-value: 50%; }
.eff-aurora,
.eff-aurora-dark {
	position: relative;
	isolation: isolate;
	overflow: clip;
}
.eff-aurora::after,
.eff-aurora-dark::after {
	content: "";
	display: var(--eff-au-display, block);
	position: absolute;
	z-index: -1;
	pointer-events: none;
	left: var(--eff-au-x, 0%);
	top: var(--eff-au-y, 0px);
	width: var(--eff-au-w, 100%);
	height: var(--eff-au-h, 100%);
	animation: eff-au-light 48s var(--eff-ease, ease-in-out) infinite;
}
.eff-aurora-dark::after { animation-name: eff-au-dark; }
.eff-au-b::after { animation-delay: -16s; }
.eff-au-c::after { animation-delay: -32s; }
@keyframes eff-au-light {
	0%, 100% { --eff-b1x: 62.01%; --eff-b1y: 16.22%; --eff-b2x: 80%; --eff-b2y: 55.5%; --eff-b3x: 50%; --eff-b3y: 65.67%; --eff-b4x: 92.01%; --eff-b4y: 15.94%; --eff-b5x: 30%; --eff-b5y: 2.33%; }
	33.333% { --eff-b1x: 66.01%; --eff-b1y: 23.94%; --eff-b2x: 74.03%; --eff-b2y: 63.06%; --eff-b3x: 54.97%; --eff-b3y: 61.11%; --eff-b4x: 86.04%; --eff-b4y: 24.22%; --eff-b5x: 34.03%; --eff-b5y: 9%; }
	66.667% { --eff-b1x: 58.02%; --eff-b1y: 10.83%; --eff-b2x: 84.03%; --eff-b2y: 48.22%; --eff-b3x: 47.01%; --eff-b3y: 69.5%; --eff-b4x: 95.03%; --eff-b4y: 9.89%; --eff-b5x: 25.97%; --eff-b5y: -2.06%; }
}
@keyframes eff-au-dark {
	0%, 100% { --eff-b1x: 62.01%; --eff-b1y: 16.22%; --eff-b2x: 80%; --eff-b2y: 53.67%; --eff-b3x: 50%; --eff-b3y: 67.5%; --eff-b4x: 92.01%; --eff-b4y: 24.17%; --eff-b5x: 30%; --eff-b5y: -5.89%; }
	33.333% { --eff-b1x: 66.01%; --eff-b1y: 23.94%; --eff-b2x: 73.99%; --eff-b2y: 61.11%; --eff-b3x: 55%; --eff-b3y: 63.06%; --eff-b4x: 85.97%; --eff-b4y: 32.89%; --eff-b5x: 33.99%; --eff-b5y: 0.28%; }
	66.667% { --eff-b1x: 58.02%; --eff-b1y: 10.83%; --eff-b2x: 84.03%; --eff-b2y: 46.5%; --eff-b3x: 47.01%; --eff-b3y: 71.22%; --eff-b4x: 95%; --eff-b4y: 17.72%; --eff-b5x: 26.01%; --eff-b5y: -9.83%; }
}
@media (prefers-reduced-motion: reduce) {
	.eff-aurora::after, .eff-aurora-dark::after { animation: none; }
}
/* The drift repaints the blobs on every frame, so it starts paused on the still frame. site.js runs it while the
   section is on screen, on wide screens with a mouse, once the page has loaded (.eff-au-live). */
.eff-aurora::after,
.eff-aurora-dark::after { animation-play-state: paused; }
.eff-aurora.eff-au-live::after,
.eff-aurora-dark.eff-au-live::after { animation-play-state: running; }
.eff-aurora.eff-au-a::after {
	--eff-b1x: 62.01%; --eff-b1y: 16.22%; --eff-b2x: 80%; --eff-b2y: 55.5%; --eff-b3x: 50%; --eff-b3y: 65.67%; --eff-b4x: 92.01%; --eff-b4y: 15.94%; --eff-b5x: 30%; --eff-b5y: 2.33%;
	background:
		linear-gradient(90deg, rgba(251, 252, 247, 1) 0%, rgba(251, 252, 247, 0.86) 42%, rgba(251, 252, 247, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(255, 244, 236, 0.9) 0%, rgba(255, 244, 236, 0.9) calc(100% - 320px), rgba(255, 244, 236, 0.45) calc(100% - 160px), rgba(255, 244, 236, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(217, 88, 15, 0.28) 0%, rgba(217, 88, 15, 0.28) calc(100% - 320px), rgba(217, 88, 15, 0.14) calc(100% - 160px), rgba(217, 88, 15, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(255, 165, 112, 0.6) 0%, rgba(255, 165, 112, 0.6) calc(100% - 320px), rgba(255, 165, 112, 0.3) calc(100% - 160px), rgba(255, 165, 112, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.5) 0%, rgba(249, 161, 27, 0.5) calc(100% - 320px), rgba(249, 161, 27, 0.25) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#FBFCF7;
}
.eff-aurora.eff-au-b::after {
	--eff-b1x: 66.01%; --eff-b1y: 23.94%; --eff-b2x: 74.03%; --eff-b2y: 63.06%; --eff-b3x: 54.97%; --eff-b3y: 61.11%; --eff-b4x: 86.04%; --eff-b4y: 24.22%; --eff-b5x: 34.03%; --eff-b5y: 9%;
	background:
		linear-gradient(90deg, rgba(251, 252, 247, 1) 0%, rgba(251, 252, 247, 0.86) 42%, rgba(251, 252, 247, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(255, 244, 236, 0.9) 0%, rgba(255, 244, 236, 0.9) calc(100% - 320px), rgba(255, 244, 236, 0.45) calc(100% - 160px), rgba(255, 244, 236, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(217, 88, 15, 0.28) 0%, rgba(217, 88, 15, 0.28) calc(100% - 320px), rgba(217, 88, 15, 0.14) calc(100% - 160px), rgba(217, 88, 15, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(255, 165, 112, 0.6) 0%, rgba(255, 165, 112, 0.6) calc(100% - 320px), rgba(255, 165, 112, 0.3) calc(100% - 160px), rgba(255, 165, 112, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.5) 0%, rgba(249, 161, 27, 0.5) calc(100% - 320px), rgba(249, 161, 27, 0.25) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#FBFCF7;
}
.eff-aurora.eff-au-c::after {
	--eff-b1x: 58.02%; --eff-b1y: 10.83%; --eff-b2x: 84.03%; --eff-b2y: 48.22%; --eff-b3x: 47.01%; --eff-b3y: 69.5%; --eff-b4x: 95.03%; --eff-b4y: 9.89%; --eff-b5x: 25.97%; --eff-b5y: -2.06%;
	background:
		linear-gradient(90deg, rgba(251, 252, 247, 1) 0%, rgba(251, 252, 247, 0.86) 42%, rgba(251, 252, 247, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(255, 244, 236, 0.9) 0%, rgba(255, 244, 236, 0.9) calc(100% - 320px), rgba(255, 244, 236, 0.45) calc(100% - 160px), rgba(255, 244, 236, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(217, 88, 15, 0.28) 0%, rgba(217, 88, 15, 0.28) calc(100% - 320px), rgba(217, 88, 15, 0.14) calc(100% - 160px), rgba(217, 88, 15, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(255, 165, 112, 0.6) 0%, rgba(255, 165, 112, 0.6) calc(100% - 320px), rgba(255, 165, 112, 0.3) calc(100% - 160px), rgba(255, 165, 112, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.5) 0%, rgba(249, 161, 27, 0.5) calc(100% - 320px), rgba(249, 161, 27, 0.25) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#FBFCF7;
}
.eff-aurora-dark.eff-au-a::after {
	--eff-b1x: 62.01%; --eff-b1y: 16.22%; --eff-b2x: 80%; --eff-b2y: 53.67%; --eff-b3x: 50%; --eff-b3y: 67.5%; --eff-b4x: 92.01%; --eff-b4y: 24.17%; --eff-b5x: 30%; --eff-b5y: -5.89%;
	background:
		linear-gradient(90deg, rgba(4, 13, 26, 1) 0%, rgba(4, 13, 26, 0.86) 42%, rgba(4, 13, 26, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(251, 135, 67, 0.3) 0%, rgba(251, 135, 67, 0.3) calc(100% - 320px), rgba(251, 135, 67, 0.15) calc(100% - 160px), rgba(251, 135, 67, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(23, 42, 64, 0.9) 0%, rgba(23, 42, 64, 0.9) calc(100% - 320px), rgba(23, 42, 64, 0.45) calc(100% - 160px), rgba(23, 42, 64, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(179, 69, 11, 0.6) 0%, rgba(179, 69, 11, 0.6) calc(100% - 320px), rgba(179, 69, 11, 0.3) calc(100% - 160px), rgba(179, 69, 11, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.35) 0%, rgba(249, 161, 27, 0.35) calc(100% - 320px), rgba(249, 161, 27, 0.17) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#040D1A;
}
.eff-aurora-dark.eff-au-b::after {
	--eff-b1x: 66.01%; --eff-b1y: 23.94%; --eff-b2x: 73.99%; --eff-b2y: 61.11%; --eff-b3x: 55%; --eff-b3y: 63.06%; --eff-b4x: 85.97%; --eff-b4y: 32.89%; --eff-b5x: 33.99%; --eff-b5y: 0.28%;
	background:
		linear-gradient(90deg, rgba(4, 13, 26, 1) 0%, rgba(4, 13, 26, 0.86) 42%, rgba(4, 13, 26, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(251, 135, 67, 0.3) 0%, rgba(251, 135, 67, 0.3) calc(100% - 320px), rgba(251, 135, 67, 0.15) calc(100% - 160px), rgba(251, 135, 67, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(23, 42, 64, 0.9) 0%, rgba(23, 42, 64, 0.9) calc(100% - 320px), rgba(23, 42, 64, 0.45) calc(100% - 160px), rgba(23, 42, 64, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(179, 69, 11, 0.6) 0%, rgba(179, 69, 11, 0.6) calc(100% - 320px), rgba(179, 69, 11, 0.3) calc(100% - 160px), rgba(179, 69, 11, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.35) 0%, rgba(249, 161, 27, 0.35) calc(100% - 320px), rgba(249, 161, 27, 0.17) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#040D1A;
}
.eff-aurora-dark.eff-au-c::after {
	--eff-b1x: 58.02%; --eff-b1y: 10.83%; --eff-b2x: 84.03%; --eff-b2y: 46.5%; --eff-b3x: 47.01%; --eff-b3y: 71.22%; --eff-b4x: 95%; --eff-b4y: 17.72%; --eff-b5x: 26.01%; --eff-b5y: -9.83%;
	background:
		linear-gradient(90deg, rgba(4, 13, 26, 1) 0%, rgba(4, 13, 26, 0.86) 42%, rgba(4, 13, 26, 0) 70%),
		radial-gradient(ellipse var(--eff-b5rx) var(--eff-b5ry) at var(--eff-b5x) var(--eff-b5y), rgba(251, 135, 67, 0.3) 0%, rgba(251, 135, 67, 0.3) calc(100% - 320px), rgba(251, 135, 67, 0.15) calc(100% - 160px), rgba(251, 135, 67, 0) 100%),
		radial-gradient(ellipse var(--eff-b4rx) var(--eff-b4ry) at var(--eff-b4x) var(--eff-b4y), rgba(23, 42, 64, 0.9) 0%, rgba(23, 42, 64, 0.9) calc(100% - 320px), rgba(23, 42, 64, 0.45) calc(100% - 160px), rgba(23, 42, 64, 0) 100%),
		radial-gradient(ellipse var(--eff-b3rx) var(--eff-b3ry) at var(--eff-b3x) var(--eff-b3y), rgba(179, 69, 11, 0.6) 0%, rgba(179, 69, 11, 0.6) calc(100% - 320px), rgba(179, 69, 11, 0.3) calc(100% - 160px), rgba(179, 69, 11, 0) 100%),
		radial-gradient(ellipse var(--eff-b2rx) var(--eff-b2ry) at var(--eff-b2x) var(--eff-b2y), rgba(249, 161, 27, 0.35) 0%, rgba(249, 161, 27, 0.35) calc(100% - 320px), rgba(249, 161, 27, 0.17) calc(100% - 160px), rgba(249, 161, 27, 0) 100%),
		radial-gradient(ellipse var(--eff-b1rx) var(--eff-b1ry) at var(--eff-b1x) var(--eff-b1y), rgba(243, 110, 33, 0.55) 0%, rgba(243, 110, 33, 0.55) calc(100% - 320px), rgba(243, 110, 33, 0.28) calc(100% - 160px), rgba(243, 110, 33, 0) 100%),
		#040D1A;
}
.eff-au-about-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-about-closing { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-about-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-about-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-article-article-header { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-article-article-header { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-case-study-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-case-study-closing { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-case-study-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-case-study-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-contact-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-contact-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-contact-sent-confirmation { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; }
@media (max-width: 767px) { .eff-au-contact-sent-confirmation { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; } }
.eff-au-email-service-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-email-service-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-email-trial-callout { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (max-width: 767px) { .eff-au-email-trial-callout { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-enterprise-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-enterprise-closing { --eff-au-display: block; --eff-au-x: -25.64%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-enterprise-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-enterprise-hero { --eff-au-display: block; --eff-au-x: -30.77%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-free-trial-closing { --eff-au-display: none; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-free-trial-closing { --eff-au-display: block; --eff-au-x: -59.9%; --eff-au-y: -120px; --eff-au-w: 187.5%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; } }
@media (max-width: 767px) { .eff-au-free-trial-closing { --eff-au-display: block; --eff-au-x: -117.95%; --eff-au-y: -120px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; } }
.eff-au-free-trial-trial-hero { --eff-au-x: 0%; --eff-au-y: -80px; --eff-au-w: 100%; --eff-au-h: 988px; --eff-b1rx: 33.92%; --eff-b1ry: 46.14%; --eff-b2rx: 31.74%; --eff-b2ry: 43.25%; --eff-b3rx: 30.24%; --eff-b3ry: 41.31%; --eff-b4rx: 28.06%; --eff-b4ry: 38.42%; --eff-b5rx: 33.19%; --eff-b5ry: 45.19%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-free-trial-trial-hero { --eff-au-display: block; --eff-au-x: -49.48%; --eff-au-y: -160px; --eff-au-w: 187.5%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
@media (max-width: 767px) { .eff-au-free-trial-trial-hero { --eff-au-display: block; --eff-au-x: -97.44%; --eff-au-y: -160px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-google-ads-closing { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-google-ads-closing { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-google-ads-platform-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-google-ads-platform-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-growth-teams-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-growth-teams-closing { --eff-au-display: block; --eff-au-x: -25.64%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-growth-teams-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-growth-teams-hero { --eff-au-display: block; --eff-au-x: -30.77%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-home-closing { --eff-au-x: 0%; --eff-au-y: 0px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-home-closing { --eff-au-display: block; --eff-au-x: -54.69%; --eff-au-y: -40px; --eff-au-w: 117.19%; --eff-au-h: 600px; --eff-b1rx: 38.23%; --eff-b1ry: 53.5%; --eff-b2rx: 36.25%; --eff-b2ry: 50.89%; --eff-b3rx: 34.93%; --eff-b3ry: 49.17%; --eff-b4rx: 32.95%; --eff-b4ry: 46.56%; --eff-b5rx: 37.57%; --eff-b5ry: 52.61%; } }
@media (max-width: 767px) { .eff-au-home-closing { --eff-au-display: block; --eff-au-x: -107.69%; --eff-au-y: -40px; --eff-au-w: 230.77%; --eff-au-h: 600px; --eff-b1rx: 38.23%; --eff-b1ry: 53.5%; --eff-b2rx: 36.25%; --eff-b2ry: 50.89%; --eff-b3rx: 34.93%; --eff-b3ry: 49.17%; --eff-b4rx: 32.95%; --eff-b4ry: 46.56%; --eff-b5rx: 37.57%; --eff-b5ry: 52.61%; } }
.eff-au-home-growth-teams-dark-mode { --eff-au-x: 0%; --eff-au-y: 0px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 29.17%; --eff-b2ry: 41.44%; --eff-b3rx: 30.56%; --eff-b3ry: 43.28%; --eff-b4rx: 33.33%; --eff-b4ry: 46.94%; --eff-b5rx: 25.69%; --eff-b5ry: 36.89%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-home-growth-teams-dark-mode { --eff-au-display: block; --eff-au-x: -65.1%; --eff-au-y: 0px; --eff-au-w: 130.21%; --eff-au-h: 700px; --eff-b1rx: 37.53%; --eff-b1ry: 51.08%; --eff-b2rx: 34.06%; --eff-b2ry: 46.52%; --eff-b3rx: 35.44%; --eff-b3ry: 48.36%; --eff-b4rx: 38.22%; --eff-b4ry: 52.02%; --eff-b5rx: 30.58%; --eff-b5ry: 41.97%; } }
@media (max-width: 767px) { .eff-au-home-growth-teams-dark-mode { --eff-au-display: block; --eff-au-x: -128.21%; --eff-au-y: 0px; --eff-au-w: 256.41%; --eff-au-h: 700px; --eff-b1rx: 37.53%; --eff-b1ry: 51.08%; --eff-b2rx: 34.06%; --eff-b2ry: 46.52%; --eff-b3rx: 35.44%; --eff-b3ry: 48.36%; --eff-b4rx: 38.22%; --eff-b4ry: 52.02%; --eff-b5rx: 30.58%; --eff-b5ry: 41.97%; } }
.eff-au-home-hero { --eff-au-x: 0%; --eff-au-y: -20px; --eff-au-w: 100%; --eff-au-h: 1044px; --eff-b1rx: 32.64%; --eff-b1ry: 43.55%; --eff-b2rx: 30.56%; --eff-b2ry: 40.83%; --eff-b3rx: 29.17%; --eff-b3ry: 38.99%; --eff-b4rx: 27.08%; --eff-b4ry: 36.27%; --eff-b5rx: 31.94%; --eff-b5ry: 42.66%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-home-hero { --eff-au-display: block; --eff-au-x: -72.92%; --eff-au-y: 380px; --eff-au-w: 143.23%; --eff-au-h: 700px; --eff-b1rx: 36.07%; --eff-b1ry: 51.08%; --eff-b2rx: 33.99%; --eff-b2ry: 48.36%; --eff-b3rx: 32.6%; --eff-b3ry: 46.52%; --eff-b4rx: 30.52%; --eff-b4ry: 43.8%; --eff-b5rx: 35.38%; --eff-b5ry: 50.19%; } }
@media (max-width: 767px) { .eff-au-home-hero { --eff-au-display: block; --eff-au-x: -143.59%; --eff-au-y: 380px; --eff-au-w: 282.05%; --eff-au-h: 700px; --eff-b1rx: 36.07%; --eff-b1ry: 51.08%; --eff-b2rx: 33.99%; --eff-b2ry: 48.36%; --eff-b3rx: 32.6%; --eff-b3ry: 46.52%; --eff-b4rx: 30.52%; --eff-b4ry: 43.8%; --eff-b5rx: 35.38%; --eff-b5ry: 50.19%; } }
.eff-au-home-trial { --eff-au-x: 0%; --eff-au-y: 0px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-home-trial { --eff-au-display: block; --eff-au-x: -72.92%; --eff-au-y: 0px; --eff-au-w: 130.21%; --eff-au-h: 800px; --eff-b1rx: 38.81%; --eff-b1ry: 49.94%; --eff-b2rx: 36.62%; --eff-b2ry: 47.06%; --eff-b3rx: 35.13%; --eff-b3ry: 45.11%; --eff-b4rx: 32.94%; --eff-b4ry: 42.22%; --eff-b5rx: 38.08%; --eff-b5ry: 49%; } }
@media (max-width: 767px) { .eff-au-home-trial { --eff-au-display: block; --eff-au-x: -143.59%; --eff-au-y: 0px; --eff-au-w: 256.41%; --eff-au-h: 800px; --eff-b1rx: 38.81%; --eff-b1ry: 49.94%; --eff-b2rx: 36.62%; --eff-b2ry: 47.06%; --eff-b3rx: 35.13%; --eff-b3ry: 45.11%; --eff-b4rx: 32.94%; --eff-b4ry: 42.22%; --eff-b5rx: 38.08%; --eff-b5ry: 49%; } }
.eff-au-how-it-works-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-how-it-works-closing { --eff-au-display: block; --eff-au-x: -25.64%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-how-it-works-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-how-it-works-hero { --eff-au-display: block; --eff-au-x: -30.77%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-lp-audit-lp-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-lp-audit-lp-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-lp-growth-team-lp-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (max-width: 767px) { .eff-au-lp-growth-team-lp-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-lpq-local-business-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 960px; --eff-b1rx: 33.92%; --eff-b1ry: 46.61%; --eff-b2rx: 30.24%; --eff-b2ry: 41.78%; --eff-b3rx: 31.74%; --eff-b3ry: 43.72%; --eff-b4rx: 34.65%; --eff-b4ry: 47.56%; --eff-b5rx: 26.56%; --eff-b5ry: 36.94%; }
@media (max-width: 767px) { .eff-au-lpq-local-business-closing { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 912px; --eff-b1rx: 33.92%; --eff-b1ry: 47.49%; --eff-b2rx: 30.24%; --eff-b2ry: 42.65%; --eff-b3rx: 31.74%; --eff-b3ry: 44.6%; --eff-b4rx: 34.65%; --eff-b4ry: 48.43%; --eff-b5rx: 26.56%; --eff-b5ry: 37.82%; } }
.eff-au-lpq-local-business-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 1000px; --eff-b1rx: 32.64%; --eff-b1ry: 44.22%; --eff-b2rx: 30.56%; --eff-b2ry: 41.5%; --eff-b3rx: 29.17%; --eff-b3ry: 39.67%; --eff-b4rx: 27.08%; --eff-b4ry: 36.94%; --eff-b5rx: 31.94%; --eff-b5ry: 43.33%; }
@media (max-width: 767px) { .eff-au-lpq-local-business-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-not-found-not-found { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; }
@media (max-width: 767px) { .eff-au-not-found-not-found { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 31.56%; --eff-b1ry: 44.61%; --eff-b2rx: 29.58%; --eff-b2ry: 42%; --eff-b3rx: 28.26%; --eff-b3ry: 40.28%; --eff-b4rx: 26.28%; --eff-b4ry: 37.67%; --eff-b5rx: 30.9%; --eff-b5ry: 43.72%; } }
.eff-au-paid-ads-service-hero { --eff-au-x: 0%; --eff-au-y: -60px; --eff-au-w: 100%; --eff-au-h: 980px; --eff-b1rx: 32.64%; --eff-b1ry: 44.55%; --eff-b2rx: 30.56%; --eff-b2ry: 41.83%; --eff-b3rx: 29.17%; --eff-b3ry: 39.99%; --eff-b4rx: 27.08%; --eff-b4ry: 37.27%; --eff-b5rx: 31.94%; --eff-b5ry: 43.66%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-paid-ads-service-hero { --eff-au-display: block; --eff-au-x: -54.69%; --eff-au-y: -140px; --eff-au-w: 187.5%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
@media (max-width: 767px) { .eff-au-paid-ads-service-hero { --eff-au-display: block; --eff-au-x: -107.69%; --eff-au-y: -140px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-paid-ads-trial-callout { --eff-au-display: none; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-paid-ads-trial-callout { --eff-au-display: block; --eff-au-x: -65.1%; --eff-au-y: -160px; --eff-au-w: 187.5%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
@media (max-width: 767px) { .eff-au-paid-ads-trial-callout { --eff-au-display: block; --eff-au-x: -128.21%; --eff-au-y: -160px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-pricing-pricing-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (min-width: 768px) and (max-width: 1024px) { .eff-au-pricing-pricing-hero { --eff-au-display: block; --eff-au-x: -72.92%; --eff-au-y: -200px; --eff-au-w: 130.21%; --eff-au-h: 640px; --eff-b1rx: 37.53%; --eff-b1ry: 53.22%; --eff-b2rx: 35.44%; --eff-b2ry: 50.5%; --eff-b3rx: 34.06%; --eff-b3ry: 48.67%; --eff-b4rx: 31.97%; --eff-b4ry: 45.94%; --eff-b5rx: 36.83%; --eff-b5ry: 52.33%; } }
@media (max-width: 767px) { .eff-au-pricing-pricing-hero { --eff-au-display: block; --eff-au-x: -143.59%; --eff-au-y: -200px; --eff-au-w: 256.41%; --eff-au-h: 640px; --eff-b1rx: 37.53%; --eff-b1ry: 53.22%; --eff-b2rx: 35.44%; --eff-b2ry: 50.5%; --eff-b3rx: 34.06%; --eff-b3ry: 48.67%; --eff-b4rx: 31.97%; --eff-b4ry: 45.94%; --eff-b5rx: 36.83%; --eff-b5ry: 52.33%; } }
.eff-au-resources-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-resources-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-results-closing { --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; }
@media (max-width: 767px) { .eff-au-results-closing { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -200px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 30.24%; --eff-b2ry: 42.89%; --eff-b3rx: 31.74%; --eff-b3ry: 44.83%; --eff-b4rx: 34.65%; --eff-b4ry: 48.67%; --eff-b5rx: 26.56%; --eff-b5ry: 38.06%; } }
.eff-au-results-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-results-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-seo-service-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-seo-service-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-seo-trial-callout { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (max-width: 767px) { .eff-au-seo-trial-callout { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-social-service-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-social-service-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
.eff-au-social-trial-callout { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (max-width: 767px) { .eff-au-social-trial-callout { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-tool-detail-tool-header { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; }
@media (max-width: 767px) { .eff-au-tool-detail-tool-header { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 33.92%; --eff-b1ry: 47.72%; --eff-b2rx: 31.74%; --eff-b2ry: 44.83%; --eff-b3rx: 30.24%; --eff-b3ry: 42.89%; --eff-b4rx: 28.06%; --eff-b4ry: 40%; --eff-b5rx: 33.19%; --eff-b5ry: 46.78%; } }
.eff-au-tools-hero { --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 100%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; }
@media (max-width: 767px) { .eff-au-tools-hero { --eff-au-display: block; --eff-au-x: 0%; --eff-au-y: -300px; --eff-au-w: 369.23%; --eff-au-h: 900px; --eff-b1rx: 32.64%; --eff-b1ry: 46%; --eff-b2rx: 30.56%; --eff-b2ry: 43.28%; --eff-b3rx: 29.17%; --eff-b3ry: 41.44%; --eff-b4rx: 27.08%; --eff-b4ry: 38.72%; --eff-b5rx: 31.94%; --eff-b5ry: 45.11%; } }
/* END aurora */
/* Tablets and phones: the aurora box often starts or ends inside its section (the Figma 768 / 390 frames place it
   behind the hero card, not at the top), which drew a hard horizontal edge across the section. Its top and bottom
   now fade out; where the box runs past the section, the fade is clipped with it and changes nothing. */
@media (max-width: 1279px) {
	.eff-aurora::after,
	.eff-aurora-dark::after {
		-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 160px, #000 calc(100% - 160px), transparent 100%);
		mask-image: linear-gradient(180deg, transparent 0, #000 160px, #000 calc(100% - 160px), transparent 100%);
	}
}

/* ---------- Tabs (Figma Tab · Pill) and filter chips (Figma FilterChip): buttons that filter the cards below ---------- */
body.eff-ui button.eff-tab, body.eff-ui button.eff-chip-btn {
	-webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin: 0;
	border-radius: 999px; cursor: pointer; white-space: nowrap; text-transform: none; letter-spacing: normal; box-shadow: none;
	font-family: var(--e-global-typography-efflabelm-font-family, "Figtree"), sans-serif; font-weight: 600;
	transition: background-color .2s var(--eff-ease), border-color .2s var(--eff-ease), color .2s var(--eff-ease);
}
body.eff-ui button.eff-tab { height: 48px; padding: 0 18px; border: 1px solid rgba(8, 25, 46, .1); background: #FFFFFF; color: #3E4F63; font-size: 16px; line-height: 20px; }
body.eff-ui button.eff-tab .eff-i { font-size: 20px; color: #3E4F63; }
body.eff-ui button.eff-tab:hover { background: #F5F4EC; color: #3E4F63; border-color: rgba(8, 25, 46, .1); }
body.eff-ui button.eff-tab.is-selected, body.eff-ui button.eff-tab.is-selected:hover { background: #08192E; border-color: #08192E; color: #FBFCF7; }
body.eff-ui button.eff-tab.is-selected .eff-i { color: #FBFCF7; }
body.eff-ui button.eff-chip-btn { height: 44px; padding: 0 16px; border: 1px solid #74859A; background: #FFFFFF; color: #08192E; font-size: 14px; line-height: 18px; letter-spacing: .002em; }
body.eff-ui button.eff-chip-btn:hover { background: #F5F4EC; color: #08192E; border-color: #74859A; }
body.eff-ui button.eff-chip-btn.is-selected, body.eff-ui button.eff-chip-btn.is-selected:hover { background: #08192E; border-color: #08192E; color: #FBFCF7; }
/* Figma FilterChip "Selected": a 16px check before the label, 6px apart. */
body.eff-ui button.eff-chip-btn { display: inline-flex; align-items: center; gap: 6px; }
body.eff-ui button.eff-chip-btn.is-selected::before { content: ""; flex: none; width: 16px; height: 16px; background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5L9.5 17L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5L9.5 17L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }
body.eff-ui button.eff-tab:focus-visible, body.eff-ui button.eff-chip-btn:focus-visible { outline: 2px solid var(--eff-focus); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo); }
/* Cards hidden by a filter or past "Show more" */
body.eff-ui .eff-filtered-out, body.eff-ui .eff-more-hidden { display: none !important; }
body.eff-ui .eff-empty-hidden { display: none !important; }
/* Form field widgets (Growth Platform [effeect_field]): the widget is as wide as Figma's field */
body.eff-ui .eff-field-w > .elementor-widget-container, body.eff-ui .eff-field-w .elementor-shortcode { width: 100%; }
body.eff-ui .eff-field-stretch { align-self: stretch; }
body.eff-ui .eff-field-stretch > .elementor-widget-container, body.eff-ui .eff-field-stretch .elementor-shortcode { height: 100%; }
/* Shadows and glows of pictures that bleed past a full-width box never widen the page (no sideways scroll on
   phones); clip keeps sticky children working, unlike overflow: hidden. */
body.eff-ui [data-elementor-type] > .e-con { overflow-x: clip; }
/* Aurora sections clip their glow on every side, as the Figma sections do: the glow is placed partly above or
   below the section, and left visible it painted over the end of the previous section (FAQ answers, reviews). */
body.eff-ui .e-con.eff-aurora, body.eff-ui .e-con.eff-aurora-dark, body.eff-ui [data-elementor-type] > .e-con.eff-aurora, body.eff-ui [data-elementor-type] > .e-con.eff-aurora-dark { overflow: clip; }
body.eff-ui .eff-filter-note { width: 100%; margin: 0; font-size: 16px; line-height: 24px; color: #3E4F63; }
/* Buttons whose tablet or phone frame uses another variant (desktop Tertiary, Secondary below 1025px) */
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .elementor-element.eff-btn-t-secondary a.elementor-button.elementor-button { border: 1.5px solid #74859A; background-color: transparent; padding-inline: 26.5px; }
	body.eff-ui .elementor-element.eff-btn-t-secondary a.elementor-button.elementor-button:hover { border-color: #08192E; background-color: #F5F4EC; }
	body.eff-ui .elementor-element.eff-btn-t-tertiary a.elementor-button.elementor-button { border: 0; background-color: transparent; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor-element.eff-btn-m-secondary a.elementor-button.elementor-button { border: 1.5px solid #74859A; background-color: transparent; padding-inline: 26.5px; }
	body.eff-ui .elementor-element.eff-btn-m-secondary a.elementor-button.elementor-button:hover { border-color: #08192E; background-color: #F5F4EC; }
	body.eff-ui .elementor-element.eff-btn-m-tertiary a.elementor-button.elementor-button { border: 0; background-color: transparent; }
}

/* =====================================================================================================
   Global header, menus, footer and cookie choices (Figma page 04: SkipLink, AnnouncementBar, Header,
   MegaMenu, MobileNav, Footer, CookieBanner). Built as Elementor templates (builder/build_globals.py);
   behaviour in site.js. Desktop header from 1280px (Figma desktop is fluid from 1280); below that the
   tablet and phone header, announcement bar and menu (the "tablet rule" of the handoff).
   ===================================================================================================== */
html:has(body.eff-ui) { scroll-padding-top: 88px; }
@media (max-width: 1279px) { html:has(body.eff-ui) { scroll-padding-top: 76px; } }

/* Sticky header: the location (<header> under <body>) sticks; the announcement bar above the header bar
   scrolls away (top = minus its height, --eff-ann-h from site.js). Admin bar offset for logged-in previews. */
body.eff-ui .elementor-location-header { position: sticky; top: calc(0px - var(--eff-ann-h, 0px)); z-index: 990; }
@media (min-width: 601px) { body.eff-ui.admin-bar .elementor-location-header { top: calc(32px - var(--eff-ann-h, 0px)); } }
@media (min-width: 601px) and (max-width: 782px) { body.eff-ui.admin-bar .elementor-location-header { top: calc(46px - var(--eff-ann-h, 0px)); } }
body.eff-ui .eff-site-header { position: relative; overflow: visible !important; }

/* Skip link: first stop for the keyboard, shown at the top left when focused (Figma SkipLink). */
body.eff-ui .elementor-element.eff-skip { position: fixed; left: 16px; top: 12px; z-index: 10001; transform: translateY(calc(-100% - 24px)); transition: transform .15s var(--eff-ease); }
body.eff-ui .elementor-element.eff-skip:focus-within { transform: none; }
body.eff-ui .eff-skip a.elementor-button:focus-visible { outline: 2px solid #FBFCF7; outline-offset: 0; box-shadow: 0 0 0 6px var(--eff-halo); }

/* Announcement bar: the offer link is amber on ink; underline on hover. */
body.eff-ui .eff-ann a { color: inherit; text-decoration: none; }
body.eff-ui .eff-ann a:hover, body.eff-ui .eff-ann a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui .eff-ann { --eff-focus: #FBFCF7; }

/* Tablet rule between 1025 and 1279px: mobile header, announcement bar and menu. */
@media (min-width: 1025px) and (max-width: 1279px) {
	body.eff-ui .elementor-element.eff-hdr-d, body.eff-ui .elementor-element.eff-ann-d, body.eff-ui .elementor-element.eff-mega { display: none !important; }
	body.eff-ui .elementor-element.eff-hdr-m, body.eff-ui .elementor-element.eff-ann-m { display: flex !important; }
	body.eff-ui .elementor-element.eff-mnav.is-open { display: flex !important; }
}

/* Desktop header: transparent at the top of the page (State=Top), glass with a hairline and a soft shadow once
   the page scrolls 24px (State=Scrolled) or while a menu is open (State=Services open). */
body.eff-ui .elementor-element.eff-hdr-d { border-bottom: 1px solid transparent; transition: background-color .2s var(--eff-ease), border-color .2s var(--eff-ease), box-shadow .2s var(--eff-ease); }
body.eff-ui .eff-site-header.is-scrolled .elementor-element.eff-hdr-d,
body.eff-ui .eff-site-header.is-open .elementor-element.eff-hdr-d { background-color: rgba(255, 255, 255, .82); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); border-bottom-color: #DEDBCD; box-shadow: 0 4px 16px rgba(8, 25, 46, .06); }
/* Pages whose Figma hero holds the header (Home, Pricing, Paid Ads, Free trial): the header sits over the hero's
   background and the hero keeps the header's 76px at its top. */
@media (min-width: 1280px) {
	body.eff-ui:has(.eff-under-header) .elementor-location-header { margin-bottom: -76px; }
	body.eff-ui .e-con.eff-under-header { padding-block-start: calc(var(--padding-top) + 76px); }
}

/* Primary navigation: 44px pills, bg/subtle on hover; the open menu's trigger is the ink pill with the chevron up. */
/* Containers turned into <button> by site.js: undo the theme's and the old kit's button styles (Hello: nowrap,
   pink border and pink hover/focus fill; kit: orange fill, 9px radius, padding) and keep Elementor's own values. */
body.eff-ui button.e-con.eff-nav-item, body.eff-ui button.e-con.eff-mnav-row, body.eff-ui button.e-con.eff-mnav-back,
body.eff-ui button.e-con.eff-nav-item:focus, body.eff-ui button.e-con.eff-mnav-row:focus, body.eff-ui button.e-con.eff-mnav-back:focus,
body.eff-ui button.e-con.eff-mnav-row:hover, body.eff-ui button.e-con.eff-mnav-back:hover {
	-webkit-appearance: none; appearance: none; margin: 0; background-color: transparent; color: inherit; font: inherit;
	text-align: left; text-transform: none; letter-spacing: inherit; text-decoration: none; box-shadow: none; cursor: pointer;
	white-space: normal; -webkit-user-select: auto; user-select: auto; border-radius: var(--border-radius);
	padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
}
/* No border unless the element sets one: this beats the theme's button border (pink, 1px) but not Elementor's own
   per-element rule, so the menu rows keep their dividers. */
button.e-con.eff-nav-item, button.e-con.eff-mnav-row, button.e-con.eff-mnav-back { border-style: none; }
body.eff-ui .e-con.eff-nav-item { border-radius: 10px !important; transition: background-color .15s var(--eff-ease); }
body.eff-ui .e-con.eff-nav-item:hover, body.eff-ui button.e-con.eff-nav-item:hover { background-color: #F5F4EC; }
body.eff-ui .e-con.eff-nav-item:focus-visible { outline: 2px solid var(--eff-focus); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo); }
body.eff-ui .e-con.eff-nav-trigger .elementor-widget-icon svg { transition: transform .2s var(--eff-ease); }
body.eff-ui .e-con.eff-nav-trigger[aria-expanded="true"], body.eff-ui button.e-con.eff-nav-trigger[aria-expanded="true"]:hover, body.eff-ui button.e-con.eff-nav-trigger[aria-expanded="true"]:focus { background-color: #08192E; }
body.eff-ui .e-con.eff-nav-trigger[aria-expanded="true"] .elementor-heading-title { color: #FBFCF7 !important; }
body.eff-ui .e-con.eff-nav-trigger[aria-expanded="true"] .elementor-widget-icon svg { color: #FBFCF7; transform: rotate(180deg); }
body.eff-ui a.e-con.eff-nav-item:hover .elementor-heading-title { color: inherit; }

/* Menus (MegaMenu/Services and /Resources): glass panels under the header, inside the 1248 column. */
body.eff-ui .elementor-element.eff-mega { position: absolute !important; top: calc(100% + 8px); z-index: 991; display: none; }
body.eff-ui .elementor-element.eff-mega.is-open { display: flex; }
body.eff-ui .elementor-element.eff-mega-services { left: max(96px, calc((100% - 1248px) / 2)); right: max(96px, calc((100% - 1248px) / 2)); width: auto !important; max-width: none; }
body.eff-ui .elementor-element.eff-mega-resources { left: var(--eff-mega-x, auto); right: auto; width: 720px; max-width: calc(100% - 192px); }
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	body.eff-ui .elementor-element.eff-mega, body.eff-ui .elementor-element.eff-mnav { background-color: #FFFFFF !important; }
}
@media (prefers-reduced-transparency: reduce) {
	body.eff-ui .elementor-element.eff-mega, body.eff-ui .elementor-element.eff-mnav, body.eff-ui .elementor-element.eff-hdr-m { background-color: #FFFFFF !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
body.eff-ui a.e-con.eff-menu-link { border: 0; }
body.eff-ui a.e-con.eff-menu-family { border-radius: 10px; }
body.eff-ui a.e-con.eff-menu-family:hover, body.eff-ui a.e-con.eff-menu-item:hover { background-color: #F5F4EC; }
body.eff-ui a.e-con.eff-menu-family:hover .elementor-heading-title, body.eff-ui a.e-con.eff-menu-item:hover .elementor-heading-title { color: #08192E; }
body.eff-ui a.e-con.eff-menu-row:hover { background-color: transparent; }
body.eff-ui a.e-con.eff-menu-row:hover .elementor-heading-title { color: #B3450B; }
body.eff-ui a.e-con.eff-menu-item { border-radius: 10px; }
/* The Growth Teams card's glow (Figma radial ellipse at the top right), clipped to the card. */
body.eff-ui .e-con.eff-mega-feature { position: relative; overflow: hidden; isolation: isolate; }
body.eff-ui .e-con.eff-mega-feature::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 260px; height: 260px; left: 120px; top: -120px; border-radius: 50%; background: radial-gradient(closest-side, rgba(243, 110, 33, .6), rgba(243, 110, 33, 0)); }
body.eff-ui .eff-mega-feature { --eff-focus: #FBFCF7; }

/* Flow pages with their own short header (the free-trial brief): the site header and its menu are left out, so the
   page has one logo and no way off the form except that header's logo and email. */
body.eff-ui:has(.eff-flow-header) .elementor-location-header { display: none !important; }

/* Tablet and phone header (Header/Mobile) and its menu (MobileNav): a full-height glass sheet under the header. */
body.eff-ui .elementor-element.eff-mnav { position: fixed !important; left: 0; right: 0; top: var(--eff-mnav-top, 64px); bottom: 0; z-index: 989; display: none;
	overflow-y: auto; overscroll-behavior: contain; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important; }
body.eff-ui .elementor-element.eff-mnav.is-open { display: flex; }
/* The sheet has a fixed height: its parts stack and the sheet scrolls (no second column, no squeezing). */
body.eff-ui .elementor-element.eff-mnav { flex-wrap: nowrap !important; }
body.eff-ui .elementor-element.eff-mnav > .e-con, body.eff-ui .elementor-element.eff-mnav > .elementor-widget { flex-shrink: 0 !important; }
body.eff-ui .e-con.eff-mnav-level { display: none; }
body.eff-ui .e-con.eff-mnav-level.is-active { display: flex; }
/* Page lock while the menu is open: on the root only. The body must stay overflow: visible (the theme gives it
   overflow-x: hidden): a body with its own overflow becomes the sticky header's scroll box, so after a scroll the
   header jumped out of view and the sheet had no bar or close button above it. */
html.eff-noscroll { overflow: hidden; }
html.eff-noscroll body { overflow: visible !important; }
/* While the menu is open the bar above it is solid, with a hairline, at any scroll position. */
body.eff-ui .eff-site-header.is-nav-open .elementor-element.eff-hdr-m { background-color: #FFFFFF !important; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 1px 0 #DEDBCD; }
body.eff-ui .elementor-element.eff-mnav.is-open { background-color: #FFFFFF !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.eff-ui a.e-con.eff-mnav-row:hover, body.eff-ui button.e-con.eff-mnav-row:hover { background-color: transparent; }
body.eff-ui .e-con.eff-mnav-row:hover .elementor-heading-title { color: #B3450B; }
body.eff-ui .e-con.eff-mnav-row:focus-visible, body.eff-ui .e-con.eff-mnav-back:focus-visible { outline: 2px solid var(--eff-focus); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo); }
body.eff-ui .e-con.eff-mnav-back { width: auto; }
/* Width=Compact (below 360px): the header's CTA leaves the bar; it stays in the menu and the hero. */
@media (max-width: 359px) { body.eff-ui .elementor-element.eff-hdr-cta { display: none; } }

/* IconButton (Ghost): 48x48, 24px glyph. */
body.eff-ui .eff-icon-btn .elementor-button-text:empty { display: none; }
body.eff-ui .eff-icon-btn .elementor-button-icon { margin: 0; }
body.eff-ui .eff-icon-btn .elementor-button-icon svg, body.eff-ui .eff-icon-btn .elementor-button-icon .eff-i-wrap { width: 24px; height: 24px; }
body.eff-ui .eff-icon-btn a.elementor-button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0 !important; }
/* Elementor shows a button's hover colours while it has focus; after a mouse click on the menu toggle that left a
   grey square on the open state. Keyboard focus (focus-visible) and hover keep their styles. */
body.eff-ui .eff-icon-btn a.elementor-button.elementor-button:focus:not(:focus-visible):not(:hover) { background-color: transparent; }
body.eff-ui .eff-hide { display: none !important; }

/* Toggle (role="switch"): 48x28 track, 22px knob (Figma Toggle). Light and dark (footer) colours. */
body.eff-ui button.eff-toggle { -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: 12px; margin: 0; padding: 0; border: 0; border-radius: 0;
	background: transparent; box-shadow: none; color: #08192E; font: 400 16px/24px "Figtree", system-ui, sans-serif; text-transform: none; letter-spacing: 0; cursor: pointer; }
body.eff-ui button.eff-toggle:hover, body.eff-ui button.eff-toggle:focus { background: transparent; color: #08192E; box-shadow: none; }
body.eff-ui .eff-toggle-track { position: relative; flex: none; width: 48px; height: 28px; border-radius: 14px; box-sizing: border-box; background: #ECEAE0; border: 1px solid #74859A; transition: background-color .2s var(--eff-ease), border-color .2s var(--eff-ease); }
body.eff-ui .eff-toggle-knob { position: absolute; top: 2px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #546679; transition: transform .2s var(--eff-ease), background-color .2s var(--eff-ease); }
body.eff-ui .eff-toggle[aria-checked="true"] .eff-toggle-track { background: #08192E; border-color: #08192E; }
body.eff-ui .eff-toggle[aria-checked="true"] .eff-toggle-knob { transform: translateX(19px); background: #FFFFFF; }
body.eff-ui button.eff-toggle:focus-visible { outline: 0; }
body.eff-ui button.eff-toggle:focus-visible .eff-toggle-track { outline: 2px solid var(--eff-focus); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo); }
body.eff-ui .eff-dark button.eff-toggle, body.eff-ui .eff-dark button.eff-toggle:hover, body.eff-ui .eff-dark button.eff-toggle:focus { color: #FBFCF7; }
body.eff-ui .eff-dark .eff-toggle-track { background: #2B3B4F; border-color: #A0AEBE; }
body.eff-ui .eff-dark .eff-toggle-knob { background: #A0AEBE; }
body.eff-ui .eff-dark .eff-toggle[aria-checked="true"] .eff-toggle-track { background: #FBFCF7; border-color: #FBFCF7; }
body.eff-ui .eff-dark .eff-toggle[aria-checked="true"] .eff-toggle-knob { background: #08192E; }
/* "Pause animations": the aurora backgrounds and other motion stop (also the default with reduced motion). */
html.eff-motion-paused .eff-ui *, html.eff-motion-paused .eff-ui *::before, html.eff-motion-paused .eff-ui *::after { animation-play-state: paused !important; }
html.eff-motion-paused .eff-ui .eff-aurora::after, html.eff-motion-paused .eff-ui .eff-aurora-dark::after { animation: none !important; }

/* Footer (Dark · Ink mode): the static aurora glow at the top right (Figma ellipse, 30% orange to clear). */
body.eff-ui .e-con.eff-footer { position: relative; overflow: hidden; isolation: isolate; }
body.eff-ui .e-con.eff-footer:not(.eff-footer-lp)::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 900px; height: 900px; left: calc(50% + 180px); top: -520px; border-radius: 50%; background: radial-gradient(closest-side, rgba(243, 110, 33, .3), rgba(243, 110, 33, 0)); }
@media (max-width: 1024px) { body.eff-ui .e-con.eff-footer:not(.eff-footer-lp)::before { width: 500px; height: 500px; left: calc(50% - 75px); top: -300px; } }
body.eff-ui .eff-footer a { text-decoration: none; }
body.eff-ui .eff-footer .elementor-widget-heading a:hover, body.eff-ui .eff-footer-lp .elementor-widget-heading a:hover { text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui a.e-con.eff-footer-email, body.eff-ui a.e-con.eff-lp-help { border: 0; }
body.eff-ui a.e-con.eff-footer-email:hover, body.eff-ui a.e-con.eff-lp-help:hover { background-color: transparent; }
/* The email links keep their colour on hover (the footer's is light on ink) and gain an underline. */
body.eff-ui a.e-con.eff-footer-email:hover .elementor-heading-title, body.eff-ui a.e-con.eff-lp-help:hover .elementor-heading-title { text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui .eff-footer .eff-icon-btn a.elementor-button:hover { background-color: #172A40; }

/* Cookie choices (CookieBanner): non-modal, bottom right on desktop (24px from the edges), full width with 16px
   margins on phones. Hidden until site.js knows no choice has been made. */
body.eff-ui .elementor-element.eff-cookie { position: fixed !important; right: 24px; bottom: 24px; z-index: 995; width: 440px !important; max-width: calc(100% - 48px); display: none; }
body.eff-ui .elementor-element.eff-cookie.is-open { display: flex; }
@media (max-width: 767px) { body.eff-ui .elementor-element.eff-cookie { left: 16px; right: 16px; bottom: 16px; width: auto !important; max-width: none; } }
body.eff-ui .e-con.eff-consent-panel { display: none; }
body.eff-ui .eff-cookie.is-settings .e-con.eff-consent-panel { display: flex; }
/* The old cookie bar (Elementor popup 2339) stays until the new consent banner is approved. Its Accept button had
   white text on brand orange (2.97:1, and about 2:1 on hover); navy text keeps the orange and passes AA (6:1+). No
   body.eff-ui prefix, so site-chrome.css carries it to every page after launch. */
.elementor-2339 .elementor-element-4206acb a.elementor-button, .elementor-2339 .elementor-element-4206acb a.elementor-button:hover, .elementor-2339 .elementor-element-4206acb a.elementor-button:focus,
.elementor-2339 .elementor-element-4206acb a.elementor-button .elementor-button-text { color: #08192E !important; fill: #08192E !important; }
/* "more info" is a light outline button on the navy bar: its label must be light too (it was navy on navy). */
.elementor-2339 .elementor-element-f88ca4a a.elementor-button, .elementor-2339 .elementor-element-f88ca4a a.elementor-button:hover, .elementor-2339 .elementor-element-f88ca4a a.elementor-button:focus,
.elementor-2339 .elementor-element-f88ca4a a.elementor-button .elementor-button-text { color: #FBFCF7 !important; fill: #FBFCF7 !important; }
/* The labels are lower case in the popup ("accept", "more info"): sentence case, as on the rest of the site. */
.elementor-2339 a.elementor-button .elementor-button-text { display: inline-block; }
.elementor-2339 a.elementor-button .elementor-button-text::first-letter { text-transform: uppercase; }

/* In the Elementor editor the menus, the menu levels and the cookie choices show in place so they can be edited, but
   only while the header or footer is the document being edited (Elementor marks it .elementor-edit-area-active).
   While a page is edited they stay closed, as on the live site, so they do not cover or push down the page. */
body.elementor-editor-active .elementor-edit-area-active .elementor-element.eff-mega, body.elementor-editor-active .elementor-edit-area-active .elementor-element.eff-mnav,
body.elementor-editor-active .elementor-edit-area-active .elementor-element.eff-cookie { position: relative !important; display: flex !important; top: auto; left: auto; right: auto; bottom: auto; }
body.elementor-editor-active .elementor-edit-area-active .e-con.eff-mnav-level, body.elementor-editor-active .elementor-edit-area-active .e-con.eff-consent-panel { display: flex !important; }
body.eff-ui .eff-logo img { display: block; }
body.eff-ui .eff-logo a { display: block; line-height: 0; }
body.eff-ui .eff-link-spread a.elementor-button, body.eff-ui .eff-link-spread .elementor-button-content-wrapper { width: 100%; justify-content: space-between; }

/* Long-form text from the WordPress editor (legal pages, articles; the Post Content and Text Editor widgets with
   .eff-prose): the Figma article and legal body styles. Text sizes follow the kit's responsive text styles. */
body.eff-ui .eff-prose { color: #08192E; font-family: var(--e-global-typography-effbodyl-font-family, "Figtree"), sans-serif; font-size: var(--e-global-typography-effbodyl-font-size, 20px); line-height: var(--e-global-typography-effbodyl-line-height, 32px); font-weight: 400; max-width: 720px; overflow-wrap: break-word; }
body.eff-ui .eff-prose :where(p, ul, ol, table, figure, blockquote, pre, hr, .wp-block-table, .wp-block-image, .wp-block-group, .eff-summary) { margin: 0 0 20px; }
body.eff-ui .eff-prose > :last-child, body.eff-ui .eff-prose .elementor-widget-container > :last-child { margin-bottom: 0; }
body.eff-ui .eff-prose :where(h2, h3, h4) { color: #08192E; font-family: var(--e-global-typography-effheadingh3-font-family, "Bricolage Grotesque"), sans-serif; font-weight: 600; margin: 40px 0 12px; scroll-margin-top: 24px; }
body.eff-ui .eff-prose :where(h2) { font-size: var(--e-global-typography-effheadingh3-font-size, 32px); line-height: var(--e-global-typography-effheadingh3-line-height, 38px); letter-spacing: -0.005em; }
body.eff-ui .eff-prose :where(h3) { font-size: var(--e-global-typography-effheadingh4-font-size, 24px); line-height: var(--e-global-typography-effheadingh4-line-height, 30px); letter-spacing: -0.0025em; }
body.eff-ui .eff-prose :where(h4) { font-family: var(--e-global-typography-efftitlel-font-family, "Figtree"), sans-serif; font-size: var(--e-global-typography-efftitlel-font-size, 20px); line-height: var(--e-global-typography-efftitlel-line-height, 28px); }
body.eff-ui .eff-prose > :where(h2, h3):first-child, body.eff-ui .eff-prose .elementor-widget-container > :where(h2, h3):first-child { margin-top: 0; }
/* Legal pages: the Figma legal body uses Heading/H4 for its numbered sections. */
body.eff-ui .eff-prose.eff-prose-legal :where(h2) { font-size: var(--e-global-typography-effheadingh4-font-size, 24px); line-height: var(--e-global-typography-effheadingh4-line-height, 30px); margin-top: 32px; }
body.eff-ui .eff-prose.eff-prose-legal :where(h3) { font-family: var(--e-global-typography-efftitlel-font-family, "Figtree"), sans-serif; font-size: var(--e-global-typography-efftitlel-font-size, 20px); line-height: var(--e-global-typography-efftitlel-line-height, 28px); margin-top: 24px; }
body.eff-ui .eff-prose :where(ul, ol) { padding-left: 1.4em; }
body.eff-ui .eff-prose :where(li) { margin: 0 0 8px; padding-left: 2px; }
body.eff-ui .eff-prose :where(li)::marker { color: #546679; }
body.eff-ui .eff-prose :where(strong, b) { font-weight: 600; }
body.eff-ui .eff-prose a:where(:not(.elementor-button, .button, .egp-btn, .effeect-gp-button)) { color: #B3450B; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.eff-ui .eff-prose a:where(:not(.elementor-button, .button, .egp-btn, .effeect-gp-button)):hover { color: #08192E; }
body.eff-ui .eff-prose a:where(:not(.elementor-button, .button, .egp-btn, .effeect-gp-button)):focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; border-radius: 2px; }
body.eff-ui .eff-prose :where(img) { max-width: 100%; height: auto; border-radius: 16px; }
body.eff-ui .eff-prose :where(figcaption, .wp-element-caption) { margin-top: 8px; color: #546679; font-size: 14px; line-height: 20px; font-weight: 500; }
body.eff-ui .eff-prose :where(hr) { border: 0; border-top: 1px solid #DEDBCD; }
body.eff-ui .eff-prose :where(code, kbd) { font-family: var(--e-global-typography-effmonos-font-family, "Geist Mono"), monospace; font-size: .8em; background: #F5F4EC; border-radius: 6px; padding: 1px 6px; }
body.eff-ui .eff-prose :where(pre) { background: #F5F4EC; border-radius: 16px; padding: 16px 20px; overflow-x: auto; font-size: 14px; line-height: 22px; }
body.eff-ui .eff-prose :where(pre) code { background: none; padding: 0; }
/* Quotes and highlighted notes: the Figma "Key takeaway" card. */
body.eff-ui .eff-prose :where(blockquote, .eff-summary) { background: #FFF4EC; border: 0; border-radius: 24px; padding: 20px; font-size: var(--e-global-typography-effbodym-font-size, 18px); line-height: var(--e-global-typography-effbodym-line-height, 28px); }
body.eff-ui .eff-prose :where(blockquote, .eff-summary) > :last-child { margin-bottom: 0; }
body.eff-ui .eff-prose :where(blockquote) cite { display: block; margin-top: 8px; font-style: normal; font-size: 14px; line-height: 20px; color: #3E4F63; }
body.eff-ui .eff-prose .eff-summary :where(h2, h3, p:first-child > strong:only-child) { display: block; margin: 0 0 10px; font-family: "Figtree", system-ui, sans-serif; font-size: 15px; line-height: 20px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #B3450B; }
body.eff-ui .eff-prose .eff-summary :where(p, ul) { margin: 0 0 10px; }
body.eff-ui .eff-prose .eff-summary :where(ul) { list-style: none; padding: 0; }
body.eff-ui .eff-prose .eff-summary :where(li) { position: relative; padding-left: 18px; margin-bottom: 4px; }
body.eff-ui .eff-prose .eff-summary :where(li)::before { content: "•"; position: absolute; left: 2px; color: #08192E; }
/* Tables: the Figma "Table · fee examples" (white card, sand header row with overline labels). */
body.eff-ui .eff-prose :where(table) { width: 100%; border-collapse: separate; border-spacing: 0; background: #FFFFFF; border: 1px solid #DEDBCD; border-radius: 24px; overflow: hidden; font-size: var(--e-global-typography-effbodym-font-size, 18px); line-height: var(--e-global-typography-effbodym-line-height, 28px); }
body.eff-ui .eff-prose :where(.wp-block-table) { overflow-x: auto; }
body.eff-ui .eff-prose :where(.wp-block-table) table { margin: 0; }
body.eff-ui .eff-prose :where(th, td) { padding: 12px 20px; text-align: left; vertical-align: top; border: 0; border-top: 1px solid #DEDBCD; background: transparent; }
body.eff-ui .eff-prose :where(thead th, thead td, tr:first-child > th) { border-top: 0; background: #F5F4EC; color: #3E4F63; font-family: "Figtree", system-ui, sans-serif; font-size: 15px; line-height: 20px; font-weight: 600; letter-spacing: 0; text-transform: none; }
body.eff-ui .eff-prose :where(tbody tr:first-child td) { border-top: 0; }
body.eff-ui .eff-prose :where(thead) + :where(tbody) tr:first-child td { border-top: 1px solid #DEDBCD; }

/* Contents lists (.eff-toc, filled by site.js from the headings of the page's .eff-prose text). */
body.eff-ui .eff-toc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
body.eff-ui .eff-toc-list li { margin: 0; }
body.eff-ui .eff-toc-list a { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; color: #3E4F63; text-decoration: none; font-family: var(--e-global-typography-efflabelm-font-family, "Figtree"), sans-serif; font-size: 16px; line-height: 20px; font-weight: 600; border-radius: 4px; }
body.eff-ui .eff-toc-list a::before { content: ""; flex: none; width: 3px; height: 20px; border-radius: 2px; background: transparent; }
body.eff-ui .eff-toc-list a:hover { color: #08192E; text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui .eff-toc-list a[aria-current] { color: #B3450B; }
body.eff-ui .eff-toc-list a[aria-current]::before { background: #D9580F; }
body.eff-ui .eff-toc-list a:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; }
body.eff-ui .eff-toc-card[hidden] { display: none !important; }
/* The contents card stays in view beside the text on desktop. */
@media (min-width: 1025px) { body.eff-ui .e-con.eff-sticky { position: sticky; top: 104px; align-self: flex-start; } }

/* Article cards (Loop Grid items) and the article header (single post template). */
body.eff-ui .eff-card-thumb, body.eff-ui .eff-card-thumb .elementor-widget-container { width: 100%; }
body.eff-ui .eff-card-thumb img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
body.eff-ui .e-con.eff-article-card { height: 100%; transition: border-color .2s var(--eff-ease, ease), box-shadow .2s var(--eff-ease, ease); }
@media (hover: hover) and (pointer: fine) { body.eff-ui .e-con.eff-article-card:hover { border-color: #74859A; box-shadow: 0 8px 24px rgba(8, 25, 46, .1); } }
body.eff-ui .eff-article-card .eff-stretch a { color: inherit; text-decoration: none; }
body.eff-ui .eff-article-card .eff-stretch a:hover, body.eff-ui .eff-article-card:hover .eff-stretch a { text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui .eff-article-card .eff-stretch a:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; border-radius: 4px; }
body.eff-ui .eff-loop .e-loop-item { height: 100%; }
body.eff-ui .eff-dot-before .elementor-heading-title::before { content: "\00b7"; margin-right: 6px; }
body.eff-ui .eff-standfirst p { margin: 0; }
body.eff-ui .eff-prose .wp-block-table[role="region"]:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; border-radius: 24px; }
/* A long contents list scrolls inside its card, so the card and the plan card below it stay in view. */
@media (min-width: 1025px) { body.eff-ui .eff-sticky .eff-toc-list { max-height: max(160px, calc(100vh - 480px)); overflow-y: auto; overscroll-behavior: contain; } }

/* Topic links above the Resources list ([eff_topics]): the Figma Tab · Pill look, as links. */
body.eff-ui .eff-topics ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
body.eff-ui .eff-topics li { margin: 0; }
body.eff-ui .eff-topics a.eff-topic { display: inline-flex; align-items: center; height: 48px; padding: 0 18px; border: 1px solid rgba(8, 25, 46, .1); border-radius: 999px; background: #FFFFFF; color: #3E4F63; text-decoration: none; white-space: nowrap;
	font-family: var(--e-global-typography-efflabelm-font-family, "Figtree"), sans-serif; font-size: 16px; line-height: 20px; font-weight: 600; transition: background-color .2s var(--eff-ease, ease), color .2s var(--eff-ease, ease); }
body.eff-ui .eff-topics a.eff-topic:hover { background: #F5F4EC; color: #3E4F63; }
body.eff-ui .eff-topics a.eff-topic.is-current, body.eff-ui .eff-topics a.eff-topic.is-current:hover { background: #08192E; border-color: #08192E; color: #FBFCF7; }
body.eff-ui .eff-topics a.eff-topic:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; box-shadow: 0 0 0 6px var(--eff-halo, rgba(243, 110, 33, .35)); }
@media (max-width: 767px) { body.eff-ui .eff-topics ul { flex-wrap: nowrap; overflow-x: auto; padding: 8px; margin: -8px; scrollbar-width: none; } body.eff-ui .eff-topics ul::-webkit-scrollbar { display: none; } }

/* Loop Grid pagination (Elementor Pro): the Figma Pagination (44px squares, current page in ink). */
body.eff-ui .eff-loop .elementor-pagination, body.eff-ui .eff-loop nav.elementor-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 40px; }
body.eff-ui .eff-loop .elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid rgba(8, 25, 46, .1); background: #FFFFFF; color: #08192E; text-decoration: none; margin: 0;
	font-family: var(--e-global-typography-efflabelm-font-family, "Figtree"), sans-serif; font-size: 16px; line-height: 20px; font-weight: 600; }
body.eff-ui .eff-loop .elementor-pagination a.page-numbers:hover { background: #F5F4EC; }
body.eff-ui .eff-loop .elementor-pagination .page-numbers.current { background: #08192E; border-color: #08192E; color: #FBFCF7; }
body.eff-ui .eff-loop .elementor-pagination .page-numbers.dots { border-color: transparent; background: transparent; min-width: 24px; padding: 0; }
body.eff-ui .eff-loop .elementor-pagination a.page-numbers:focus-visible { outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; }
body.eff-ui .eff-loop .e-loop-nothing-found-message { padding: 24px; border-radius: 24px; background: #F5F4EC; color: #3E4F63; font-size: 18px; line-height: 28px; }

/* Search results: the "no results" help shows only when the search found nothing (WordPress body classes). */
body.eff-ui .e-con.eff-when-empty { display: none; }
body.search-no-results.eff-ui .e-con.eff-when-empty { display: flex; }
body.search-no-results.eff-ui .eff-when-found { display: none !important; }
body.eff-ui .elementor-widget.eff-when-empty { display: none; }
body.search-no-results.eff-ui .elementor-widget.eff-when-empty { display: block; }
/* The featured guide's image keeps the Figma 742 × 360 frame. */
body.eff-ui .eff-feature-thumb img { aspect-ratio: 742 / 360; }
body.eff-ui .eff-topics-w p { margin: 0; }
/* Card summaries from the post excerpt: three lines (four on the featured guide), ending in an ellipsis. */
body.eff-ui .eff-clamp-3 .elementor-heading-title, body.eff-ui .eff-clamp-3 .elementor-widget-container > p,
body.eff-ui .eff-clamp-4 .elementor-heading-title, body.eff-ui .eff-clamp-4 .elementor-widget-container > p { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
body.eff-ui .eff-clamp-3 .elementor-heading-title, body.eff-ui .eff-clamp-3 .elementor-widget-container > p { -webkit-line-clamp: 3; line-clamp: 3; }
body.eff-ui .eff-clamp-4 .elementor-heading-title, body.eff-ui .eff-clamp-4 .elementor-widget-container > p { -webkit-line-clamp: 4; line-clamp: 4; }
/* Loop Grids fill their section's width (some Figma sections centre their children). */
body.eff-ui .elementor-widget-loop-grid.eff-loop { width: 100%; align-self: stretch; }
body.eff-ui .eff-card-text p, body.eff-ui .eff-summary-text p { margin: 0 0 8px; }
body.eff-ui .eff-card-text p:last-child, body.eff-ui .eff-summary-text p:last-child { margin-bottom: 0; }
body.eff-ui .eff-card-text a { color: #B3450B; font-weight: 600; }
body.eff-ui .eff-card-text a:hover { color: #08192E; }

/* Card grids filled from a data file (builder repeat_cards: the tools directory). Fixed columns, so a short last row
   keeps the card width (4 / 2 / 1 across); cards in a row share one height and the chip row sits at the bottom. */
body.eff-ui .elementor .e-con.eff-grid-cols { --align-items: stretch !important; }
body.eff-ui .elementor .eff-grid-cols > .e-con-inner > .e-con,
body.eff-ui .elementor .eff-grid-cols.e-con-full > .e-con { --flex-grow: 0 !important; --flex-shrink: 0 !important; --flex-basis: calc((100% - 72px) / 4) !important; }
body.eff-ui .elementor .e-con.eff-card-meta { --flex-wrap: wrap !important; margin-top: auto !important; }
body.eff-ui .elementor .e-con.eff-card-meta > .elementor-widget { flex-basis: auto !important; }   /* the note keeps its width and wraps below the chip */
@media (max-width: 1024px) {
	body.eff-ui .elementor .eff-grid-cols > .e-con-inner > .e-con,
	body.eff-ui .elementor .eff-grid-cols.e-con-full > .e-con { --flex-basis: calc((100% - 16px) / 2) !important; }
}
@media (max-width: 767px) {
	body.eff-ui .elementor .eff-grid-cols > .e-con-inner > .e-con,
	body.eff-ui .elementor .eff-grid-cols.e-con-full > .e-con { --flex-basis: 100% !important; }
}
/* A hyphenated word kept on one line (content.json "nobreak"). */
body.eff-ui .eff-nobr { white-space: nowrap; }
/* Tools directory search (site.js): cards and featured blocks left out by the search, and the match count. */
body.eff-ui .eff-search-out { display: none !important; }
body.eff-ui .eff-search-status { margin: 8px 0 0; font-size: 14px; line-height: 20px; color: #3E4F63; }
body.eff-ui .eff-search-status:empty { display: none; }
/* Rows of cards (builder conv.py card_row_classes): cards in a line share the tallest card's height, at the widths
   where the frame keeps them side by side. */
@media (min-width: 1025px) { body.eff-ui .elementor .e-con.eff-eqh-d { --align-items: stretch !important; } }
@media (min-width: 768px) and (max-width: 1024px) { body.eff-ui .elementor .e-con.eff-eqh-t { --align-items: stretch !important; } }
@media (max-width: 767px) { body.eff-ui .elementor .e-con.eff-eqh-m { --align-items: stretch !important; } }

/* Long unbroken strings (URLs, emails, code) wrap inside their text block instead of widening the page (the UTM
   builder's example link pushed phones 236px wide, Oct 14). */
body.eff-ui :where(p, li, dd, dt, td, th, figcaption, blockquote, h1, h2, h3, h4, h5, h6, .elementor-widget-text-editor, .elementor-heading-title) { overflow-wrap: break-word; }

/* ---------- Restyled older pages (builder/restyle.js, Oct 14) ---------- */
/* Free tools keep their own markup and scripts; the site styles their controls and flattens their old card. */
body.eff-ui .eff-tool-ui { color: #08192E; font-family: var(--e-global-typography-effbodym-font-family, "Figtree"), sans-serif; font-size: 17px; line-height: 1.5; }
body.eff-ui .eff-tool-ui * { font-family: inherit !important; }
body.eff-ui .eff-tool-ui :is(h2, h3, h4) { font-family: var(--e-global-typography-effheadingh4-font-family, "Bricolage Grotesque"), sans-serif !important; color: #08192E !important; font-weight: 600 !important; letter-spacing: -.0025em; }
body.eff-ui .eff-tool-ui [style*="max-width"] { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
body.eff-ui .eff-tool-ui [style*="box-shadow"] { box-shadow: none !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
body.eff-ui .eff-tool-ui :is(input[type=text], input[type=number], input[type=url], input[type=email], input[type=search], input[type=tel], input[type=password], input:not([type]), select, textarea) {
	box-sizing: border-box; min-height: 48px; padding: 11px 14px !important; border: 1px solid #74859A !important; border-radius: 12px !important; background-color: #FFFFFF !important; color: #08192E !important; font-size: 17px !important; line-height: 1.5 !important; box-shadow: none !important; max-width: 100%;
}
body.eff-ui .eff-tool-ui textarea { min-height: 160px; }
body.eff-ui .eff-tool-ui :is(input, select, textarea):hover { border-color: #08192E !important; }
body.eff-ui .eff-tool-ui :is(input, select, textarea):focus { border-color: #08192E !important; outline: 0; box-shadow: 0 0 0 1px #08192E, 0 0 0 5px rgba(243, 110, 33, .35) !important; }
body.eff-ui .eff-tool-ui :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; accent-color: #08192E; }
body.eff-ui .eff-tool-ui :is(input[type=color]) { min-height: 48px; padding: 4px !important; }
body.eff-ui .eff-tool-ui :is(input[type=range]) { accent-color: #F36E21; border: 0 !important; padding: 0 !important; min-height: 0; background: transparent !important; }
body.eff-ui .eff-tool-ui :is(button, input[type=button], input[type=submit], input[type=reset]) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; margin: 4px 8px 4px 0; padding: 0 20px !important; border: 0 !important; border-radius: 12px !important;
	background: #F36E21 !important; color: #FFFFFF !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; cursor: pointer;
}
body.eff-ui .eff-tool-ui :is(button, input[type=button], input[type=submit], input[type=reset]):hover { background: #D9580F !important; color: #FFFFFF !important; }
body.eff-ui .eff-tool-ui :is(button, input[type=button], input[type=submit], input[type=reset]):focus-visible { outline: 2px solid #08192E; outline-offset: 2px; }
body.eff-ui .eff-tool-ui :is(button, input[type=button], input[type=submit])[disabled] { background: #ECEAE0 !important; color: #74859A !important; cursor: not-allowed; }
body.eff-ui .eff-tool-ui label { color: #08192E !important; font-weight: 600; }
body.eff-ui .eff-tool-ui a { color: #B3450B; }
body.eff-ui .eff-tool-ui table { width: 100%; border-collapse: collapse; }
body.eff-ui .eff-tool-ui :is(th, td) { padding: 10px 12px !important; border: 1px solid #DEDBCD !important; text-align: left; }
body.eff-ui .eff-tool-ui :is(pre, code) { font-family: var(--e-global-typography-effmonos-font-family, "Geist Mono"), monospace !important; }
body.eff-ui .eff-tool-ui pre { white-space: pre-wrap; overflow-wrap: anywhere; background: #F5F4EC !important; border-radius: 12px; padding: 12px 14px; }
body.eff-ui .eff-tool-ui img, body.eff-ui .eff-tool-ui canvas, body.eff-ui .eff-tool-ui iframe, body.eff-ui .eff-tool-ui input[type=file] { max-width: 100%; }
body.eff-ui .eff-embed-card { overflow-x: auto; }
body.eff-ui .eff-embed-card .elementor-widget-html { width: 100%; }

/* Old card buttons become links at the end of the card text. */
body.eff-ui .eff-card-text .eff-card-link-p { margin-top: 12px; }
body.eff-ui .eff-card-text .eff-card-link-p a { text-decoration: none; }
body.eff-ui .eff-card-text .eff-card-link-p a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Award badges and logos. */
body.eff-ui .eff-logo-tile img { width: 100%; height: 80px; object-fit: contain; }
@media (max-width: 767px) { body.eff-ui .eff-logo-tile img { height: 60px; } }

/* /services/ is the WooCommerce shop page: the theme boxes archive content at 1140px, so the redesigned sections of
   the shop template could not reach the page edges. */
body.eff-ui.woocommerce-shop main#content.site-main, body.eff-ui.post-type-archive-product main#content.site-main { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Company logos in flattened lists (old image boxes): small, not full width. */
body.eff-ui .eff-prose figure.eff-figure-logo { margin: 32px 0 8px; }
body.eff-ui .eff-prose figure.eff-figure-logo img { width: auto; max-width: 200px; max-height: 88px; object-fit: contain; border-radius: 8px; }

/* Videos inside restyled text. */
body.eff-ui .eff-prose .eff-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 16px; }

/* Older widgets kept inside a restyled page: site map, post lists, job listings, forms. */
body.eff-ui .eff-legacy-widget { width: 100%; }
body.eff-ui .eff-legacy-sitemap .elementor-sitemap-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 32px; }
body.eff-ui .eff-legacy-sitemap .elementor-sitemap-section { padding: 24px; border: 1px solid #DEDBCD; border-radius: 24px; background: #FFFFFF; }
body.eff-ui .eff-legacy-sitemap .elementor-sitemap-title { margin: 0 0 12px; font-family: var(--e-global-typography-effheadingh4-font-family, "Bricolage Grotesque"), sans-serif; font-size: 22px; line-height: 28px; font-weight: 600; color: #08192E; }
body.eff-ui .eff-legacy-sitemap :is(ul, li) { margin: 0; padding: 0; list-style: none; }
body.eff-ui .eff-legacy-sitemap li { padding: 6px 0; }
body.eff-ui .eff-legacy-sitemap li ul { padding-left: 16px; }
body.eff-ui .eff-legacy-sitemap a { color: #08192E; text-decoration: none; font-size: 16px; line-height: 24px; }
body.eff-ui .eff-legacy-sitemap a:hover { color: #B3450B; text-decoration: underline; text-underline-offset: 3px; }
body.eff-ui .eff-legacy-form .elementor-field-group { margin-bottom: 16px; }
body.eff-ui .eff-legacy-form .elementor-field-group > label { color: #08192E; font-weight: 600; font-size: 16px; }
body.eff-ui .eff-legacy-form :is(.elementor-field-textual, select) { min-height: 52px; padding: 12px 16px !important; border: 1px solid #74859A !important; border-radius: 12px !important; background: #FFFFFF !important; color: #08192E !important; font-size: 18px !important; }
body.eff-ui .eff-legacy-form textarea.elementor-field-textual { min-height: 128px; }
body.eff-ui .eff-legacy-form .elementor-button { min-height: 48px; padding: 0 22px !important; border: 0 !important; border-radius: 12px !important; background: #F36E21 !important; color: #FFFFFF !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; }
body.eff-ui .eff-legacy-form .elementor-button:hover { background: #FB8743 !important; }

/* The cookie notice (Elementor popup 2339) in the new design. Its behaviour is unchanged. */
#elementor-popup-modal-2339 .dialog-widget-content { margin: 0 16px 16px !important; max-width: 760px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px !important; background-color: rgba(8, 25, 46, .94) !important; box-shadow: 0 12px 40px rgba(8, 25, 46, .3) !important; backdrop-filter: blur(12px); }
#elementor-popup-modal-2339 .elementor-widget-text-editor, #elementor-popup-modal-2339 .elementor-widget-text-editor p { color: #FBFCF7 !important; font-family: "Figtree", system-ui, sans-serif !important; font-size: 15px !important; line-height: 22px !important; }
#elementor-popup-modal-2339 .elementor-button { min-height: 48px; padding: 0 22px !important; border-radius: 10px !important; font-family: "Figtree", system-ui, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
#elementor-popup-modal-2339 .elementor-element-4206acb .elementor-button { background: #F36E21 !important; color: #FFFFFF !important; border: 0 !important; }
#elementor-popup-modal-2339 .elementor-element-4206acb .elementor-button:hover { background: #FB8743 !important; }
#elementor-popup-modal-2339 .elementor-element-f88ca4a .elementor-button { background: transparent !important; color: #FBFCF7 !important; border: 1px solid rgba(251, 252, 247, .5) !important; }
#elementor-popup-modal-2339 .elementor-element-f88ca4a .elementor-button:hover { background: rgba(251, 252, 247, .1) !important; }

/* ---------- QA pass, Oct 14 2026 (0.1.39) ---------- */

/* Review cards: the empty spacer between the stars and "Clutch review" kept a 100px minimum height, which left a
   blank band at the top of every review card. */
body.eff-ui .elementor-widget-rating + .e-con:not(:has(*)) { --min-height: 0px; min-height: 0; }

/* Results grid: cards with a fixed 398px cover did not grow, so only two fitted per row on desktop. Three equal
   columns on desktop, two on tablets. */
@media (min-width: 1025px) {
	body.eff-ui .elementor-510 .eff-card-link.eff-item { flex: 1 1 calc((100% - 48px) / 3); max-width: calc((100% - 48px) / 3); }
}
@media (min-width: 768px) and (max-width: 1024px) {
	body.eff-ui .elementor-510 .eff-card-link.eff-item { flex: 1 1 calc((100% - 24px) / 2); max-width: calc((100% - 24px) / 2); }
}
body.eff-ui .elementor-510 .eff-card-link.eff-item .elementor-widget-image { width: 100%; max-width: 100%; }
body.eff-ui .elementor-510 .eff-card-link.eff-item .elementor-widget-image img { width: 100%; height: auto; }

/* Case cards whose cover image already shows the headline result: the body keeps only the period and source line,
   so the same number is not shown twice. Photo covers keep the result box. */
body.eff-ui .eff-card-link:is(:has(img[src*="bentley-indianapolis"]), :has(img[data-src*="bentley-indianapolis"]), :has(img[src*="coast-to-coast-imports"]), :has(img[data-src*="coast-to-coast-imports"]), :has(img[src*="conroe-offices"]), :has(img[data-src*="conroe-offices"]), :has(img[src*="media-ic-markets"]), :has(img[data-src*="media-ic-markets"]), :has(img[src*="media-beauvoir-hair"]), :has(img[data-src*="media-beauvoir-hair"]), :has(img[src*="media-caratnewyork"]), :has(img[data-src*="media-caratnewyork"]), :has(img[src*="media-aroma-lab"]), :has(img[data-src*="media-aroma-lab"]), :has(img[src*="media-finadvisory-llc"]), :has(img[data-src*="media-finadvisory-llc"]), :has(img[src*="media-kata-logistics"]), :has(img[data-src*="media-kata-logistics"])) .e-con:has(> .elementor-widget-heading:first-child + .e-con:last-child) {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; padding: 0 !important; background: none !important; border: 0 !important;
}
body.eff-ui .eff-card-link:is(:has(img[src*="bentley-indianapolis"]), :has(img[data-src*="bentley-indianapolis"]), :has(img[src*="coast-to-coast-imports"]), :has(img[data-src*="coast-to-coast-imports"]), :has(img[src*="conroe-offices"]), :has(img[data-src*="conroe-offices"]), :has(img[src*="media-ic-markets"]), :has(img[data-src*="media-ic-markets"]), :has(img[src*="media-beauvoir-hair"]), :has(img[data-src*="media-beauvoir-hair"]), :has(img[src*="media-caratnewyork"]), :has(img[data-src*="media-caratnewyork"]), :has(img[src*="media-aroma-lab"]), :has(img[data-src*="media-aroma-lab"]), :has(img[src*="media-finadvisory-llc"]), :has(img[data-src*="media-finadvisory-llc"]), :has(img[src*="media-kata-logistics"]), :has(img[data-src*="media-kata-logistics"])) .e-con:has(> .elementor-widget-heading:first-child + .e-con:last-child) > :is(.elementor-widget-heading:first-child, .e-con > .elementor-widget-heading:first-child) { display: none; }
body.eff-ui .eff-card-link:is(:has(img[src*="bentley-indianapolis"]), :has(img[data-src*="bentley-indianapolis"]), :has(img[src*="coast-to-coast-imports"]), :has(img[data-src*="coast-to-coast-imports"]), :has(img[src*="conroe-offices"]), :has(img[data-src*="conroe-offices"]), :has(img[src*="media-ic-markets"]), :has(img[data-src*="media-ic-markets"]), :has(img[src*="media-beauvoir-hair"]), :has(img[data-src*="media-beauvoir-hair"]), :has(img[src*="media-caratnewyork"]), :has(img[data-src*="media-caratnewyork"]), :has(img[src*="media-aroma-lab"]), :has(img[data-src*="media-aroma-lab"]), :has(img[src*="media-finadvisory-llc"]), :has(img[data-src*="media-finadvisory-llc"]), :has(img[src*="media-kata-logistics"]), :has(img[data-src*="media-kata-logistics"])) .e-con:has(> .elementor-widget-heading:first-child + .e-con:last-child) > .e-con > .elementor-widget-heading:first-child { display: none; }

/* Landing pages /lp/… (builder css_by_name "Cases"): below desktop the result cards stack, one per row, and the
   cover picture spans the card. */
@media (max-width: 1024px) {
	body.eff-ui .eff-lp-cases .eff-card-link .elementor-widget-image { width: 100%; max-width: 100%; }
	body.eff-ui .eff-lp-cases .eff-card-link .elementor-widget-image img { width: 100%; height: auto; }
}

/* Phones: blog and glossary pagination as Previous · current page · Next, so it fits on one line. */
@media (max-width: 767px) {
	body.eff-ui .elementor-pagination .page-numbers:not(.prev):not(.next):not(.current) { display: none; }
}

/* Phones: a hero followed by a section on the same background showed two paddings (56 + 72px) of empty space. */
@media (max-width: 767px) {
	body.eff-ui :is(.elementor-2927 .elementor-element-9d57a16, .elementor-10823 .elementor-element-108b11f, .elementor-18620 .elementor-element-cf70cff, .elementor-18610 .elementor-element-e51fcd5, .elementor-18650 .elementor-element-e51fcd5) > .e-con-inner { padding-bottom: 16px !important; }
	body.eff-ui :is(.elementor-2927 .elementor-element-1130bb1, .elementor-10823 .elementor-element-a95c4dd, .elementor-18620 .elementor-element-b45a702, .elementor-18610 .elementor-element-ebbd6c4, .elementor-18650 .elementor-element-ebbd6c4) > .e-con-inner { padding-top: 24px !important; }
}

/* Phones: search results stack in one column, so rows hug their card instead of matching the tallest card. */
@media (max-width: 767px) {
	body.eff-ui .elementor-18637 .elementor-loop-container { grid-auto-rows: auto !important; }
}

/* Tap targets: the header and footer logo links and the footer email link were 20px tall (24px is the minimum). */
body.eff-ui .elementor-location-header .elementor-widget-image a, body.eff-ui .elementor-location-footer .elementor-widget-image a { display: block; line-height: 0; padding-block: 4px; }   /* block, not inline-block: no baseline gap, so the logo sits on the button's centre line (owner, Oct 31) */
body.eff-ui .elementor-location-footer a[href^="mailto:"] { display: inline-block; padding-block: 4px; }

/* Site map: utility pages (message sent, trial brief, client dashboard, cart, checkout, account) are not listed. */
body.eff-ui .eff-legacy-sitemap :is(.page-item-18875, .page-item-18855, .page-item-18182, .page-item-778, .page-item-777, .page-item-776) { display: none; }

/* Owner, Oct 31 2026: orange buttons look like the logo, a white label on the orange; secondary buttons keep their
   colours. On hover the orange darkens to the pressed shade so the white label stays readable. Every page button
   is one size, 48 px (the header pair matches the logo instead). */
body.eff-ui .elementor-element.eff-btn-primary a.elementor-button.elementor-button,
body.eff-ui .elementor-element.eff-btn-primary a.elementor-button.elementor-button:visited { color: #FFFFFF; fill: #FFFFFF; }
body.eff-ui .elementor-element.eff-btn-primary a.elementor-button.elementor-button:is(:hover, :focus) { color: #FFFFFF; fill: #FFFFFF; background-color: #D9580F; }
body.eff-ui .elementor-element.eff-btn-primary a.elementor-button.elementor-button :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon i) { color: inherit; }
body.eff-ui .elementor-element.eff-btn-primary a.elementor-button.elementor-button .elementor-button-icon svg { fill: currentColor; }
body.eff-ui .elementor-element:is(.eff-btn-lg, .eff-btn-t-lg, .eff-btn-m-lg).eff-btn-secondary a.elementor-button.elementor-button { padding-inline: 20.5px; }
/* Growth Platform (plan builder, cart, checkout, account): the same white label and the same 48 px size.
   The cart, checkout and account classes sit on the body itself. */
body.eff-ui .egp-btn.egp-btn, body.eff-ui .effeect-gp-button.button.button { min-height: 48px; padding: 0 22px; font-size: 16px; line-height: 1.2; }
body.eff-ui .egp-btn.egp-btn .eff-i { font-size: 20px; }
body.eff-ui .egp-btn-primary.egp-btn-primary:not([aria-disabled=true]), body.eff-ui .effeect-gp-button.button.button { color: #FFFFFF; }
body.eff-ui .egp-btn-primary.egp-btn-primary:not([aria-disabled=true]):is(:hover, :focus), body.eff-ui .effeect-gp-button.button.button:is(:hover, :focus) { color: #FFFFFF; background: #D9580F; }
body.eff-ui.effeect-gp-checkout #payment #place_order, body.eff-ui.effeect-gp-checkout .woocommerce #payment #place_order { min-height: 48px; padding: 0 22px; font-size: 16px; color: #FFFFFF; }
body.eff-ui.effeect-gp-checkout #payment #place_order:is(:hover, :focus), body.eff-ui.effeect-gp-checkout .woocommerce #payment #place_order:is(:hover, :focus) { color: #FFFFFF; background: #D9580F; }
body.eff-ui.effeect-gp-checkout #payment div.form-row.place-order .egp-co-back { min-height: 48px; }
body.eff-ui.effeect-gp-checkout .woocommerce :is(a.button.alt, button.button.alt), body.eff-ui.effeect-gp-cart .woocommerce :is(a.button.alt, button.button.alt, .return-to-shop a.button, .wc-proceed-to-checkout a.checkout-button), body.eff-ui.effeect-gp-account .woocommerce :is(button.button[type=submit], .woocommerce-Button.button) { min-height: 48px; font-size: 16px; color: #FFFFFF; }
body.eff-ui.effeect-gp-checkout .woocommerce :is(a.button.alt, button.button.alt):is(:hover, :focus), body.eff-ui.effeect-gp-cart .woocommerce :is(a.button.alt, button.button.alt, .return-to-shop a.button, .wc-proceed-to-checkout a.checkout-button):is(:hover, :focus), body.eff-ui.effeect-gp-account .woocommerce :is(button.button[type=submit], .woocommerce-Button.button):is(:hover, :focus) { color: #FFFFFF; background: #D9580F; }
/* Owner, Oct 31 2026: no orange ring or glow around buttons. Keyboard focus keeps a thin dark outline (needed for
   accessibility); a mouse click or a tap never shows one. Hello Elementor's reset gives plain buttons a pink (#c36)
   border, text and hover fill; every button style on the site overrides it (checked on the main pages, phone and
   desktop, menus open). */
.eff-ui :is(.elementor-button, .egp-btn, .effeect-gp-button, .eff-prompt__btn, button, [type=button], [type=submit], .button):focus-visible { box-shadow: none; }
.eff-ui :is(.elementor-button, .egp-btn, .effeect-gp-button, .eff-prompt__btn, button, [type=button], [type=submit], .button):focus:not(:focus-visible) { outline: 0; box-shadow: none; }
body.eff-ui .egp-btn-primary.egp-btn-primary:is(:hover, :focus), body.eff-ui .effeect-gp-button.button.button:is(:hover, :focus), body.eff-ui.effeect-gp-checkout #payment #place_order:is(:hover, :focus), body.eff-ui.effeect-gp-checkout .woocommerce :is(a.button.alt, button.button.alt):is(:hover, :focus), body.eff-ui.effeect-gp-cart .woocommerce :is(a.button.alt, button.button.alt, .return-to-shop a.button, .wc-proceed-to-checkout a.checkout-button):is(:hover, :focus), body.eff-ui.effeect-gp-account .woocommerce :is(button.button[type=submit], .woocommerce-Button.button):is(:hover, :focus) { box-shadow: none; }
/* Owner, Oct 31 2026: one corner radius on every button, the original rounder 12px (the owner tried the logo's
   tighter corners and preferred these), orange and outline alike. */
body.eff-ui .elementor-element.eff-btn a.elementor-button.elementor-button { border-radius: 12px; }
body.eff-ui .egp-btn.egp-btn, body.eff-ui .effeect-gp-button.button.button { border-radius: 12px; }
body.eff-ui.effeect-gp-checkout #payment #place_order, body.eff-ui.effeect-gp-checkout .woocommerce #payment #place_order, body.eff-ui.effeect-gp-checkout #payment div.form-row.place-order .egp-co-back { border-radius: 12px; }
body.eff-ui:is(.effeect-gp-cart, .effeect-gp-checkout, .effeect-gp-account) .woocommerce :is(a.button, button.button) { border-radius: 12px; }
body.eff-ui .eff-tool-ui :is(button, [type=submit], .button), body.eff-ui .eff-legacy-form .elementor-button, #elementor-popup-modal-2339 .elementor-button { border-radius: 12px !important; }
/* Oct 31 2026: Elementor buttons placed inside article text (kit style, no eff-btn classes, for example the
   "Learn More" buttons in the forex agencies article) had the article link colour, dark orange #B3450B, on orange.
   The article link rules now skip buttons (see .eff-prose a), and these buttons take the page button size, corners
   and hover. The hover sits above the kit default and below a widget's own hover setting. */
body.eff-ui .eff-prose .elementor-widget-button:not(.eff-btn) a.elementor-button.elementor-button.elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding-block: 0; padding-inline: 22px; font-size: 16px; line-height: 20px; border-radius: 12px; text-decoration: none; }
.eff-prose .elementor-widget-button:where(:not(.eff-btn)) a.elementor-button:is(:hover, :focus) { background-color: #D9580F; color: #FFFFFF; }
/* Oct 31 2026 (owner: "make the hamburger menu equal to button / logo, it seems bigger now"): the menu button's visible
   box, the fill it shows on hover, tap and keyboard focus, has the height of the logo and Book a call next to it
   (36px, 28px on phones) and the same 12px corners; it was a 48px square. The 24px glyph, the 48px tap area and the
   header layout stay as they were. */
body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button { position: relative; z-index: 0; background-color: transparent !important; box-shadow: none !important; }
body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button:focus-visible { outline: none !important; }
body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button::before { content: ""; position: absolute; z-index: -1; left: 50%; top: 50%; width: 36px; height: 36px; transform: translate(-50%, -50%); border-radius: 12px; background-color: transparent; transition: background-color .2s var(--eff-ease, ease); pointer-events: none; }
body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button:hover::before { background-color: var(--e-global-color-effbgsubtle, #F5F4EC); }
body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button:focus-visible::before { background-color: var(--e-global-color-effbgsubtle, #F5F4EC); outline: 2px solid var(--eff-focus, #08192E); outline-offset: 2px; }
@media (max-width: 767px) { body.eff-ui .elementor-location-header .eff-menu-toggle a.elementor-button.elementor-button::before { width: 28px; height: 28px; } }
/* Campaign landing pages (/lp/, body class eff-lp from Site Kit): a more compact hero on phones, so the first field of the hero form shows on the first screen. */
@media (max-width: 767px) {
	body.eff-lp h1.elementor-heading-title { font-size: 34px !important; line-height: 38px !important; }
	body.eff-lp [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor,
	body.eff-lp [data-elementor-type="wp-page"] > .e-con:first-child .elementor-widget-text-editor p { font-size: 16px !important; line-height: 24px !important; }
}
