.elementor-kit-9{--e-global-color-primary:#141A1F;--e-global-color-secondary:#102B3D;--e-global-color-text:#48525A;--e-global-color-accent:#CB0000;--e-global-color-sp_white:#FFFFFF;--e-global-color-sp_tint:#F3F6F9;--e-global-color-sp_tint2:#E6EDF3;--e-global-color-sp_line:#E1E6EB;--e-global-color-sp_muted:#66717A;--e-global-color-sp_navy2:#1B3B52;--e-global-color-sp_onnavy:#B7C7D3;--e-global-color-sp_rednavy:#FF8E8E;--e-global-color-sp_linenavy:#FFFFFF29;--e-global-color-sp_white55:#FFFFFF8C;--e-global-color-sp_shadow:#102B3D24;--e-global-color-sp_white10:#FFFFFF1A;--e-global-typography-primary-font-family:"Anton";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:0.98em;--e-global-typography-primary-letter-spacing:0.2px;--e-global-typography-secondary-font-family:"IBM Plex Mono";--e-global-typography-secondary-font-size:12px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.4em;--e-global-typography-secondary-letter-spacing:1.3px;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"IBM Plex Mono";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:1.3px;--e-global-typography-sp_display-font-family:"Anton";--e-global-typography-sp_display-font-size:104px;--e-global-typography-sp_display-font-weight:400;--e-global-typography-sp_display-text-transform:uppercase;--e-global-typography-sp_display-line-height:0.95em;--e-global-typography-sp_display-letter-spacing:0.2px;--e-global-typography-sp_h1-font-family:"Anton";--e-global-typography-sp_h1-font-size:84px;--e-global-typography-sp_h1-font-weight:400;--e-global-typography-sp_h1-text-transform:uppercase;--e-global-typography-sp_h1-line-height:0.98em;--e-global-typography-sp_h1-letter-spacing:0.2px;--e-global-typography-sp_h3-font-family:"Anton";--e-global-typography-sp_h3-font-size:30px;--e-global-typography-sp_h3-font-weight:400;--e-global-typography-sp_h3-text-transform:uppercase;--e-global-typography-sp_h3-line-height:1em;--e-global-typography-sp_h3-letter-spacing:0.2px;--e-global-typography-sp_h4-font-family:"Hanken Grotesk";--e-global-typography-sp_h4-font-size:20px;--e-global-typography-sp_h4-font-weight:600;--e-global-typography-sp_h4-line-height:1.3em;--e-global-typography-sp_stat-font-family:"Anton";--e-global-typography-sp_stat-font-size:64px;--e-global-typography-sp_stat-font-weight:400;--e-global-typography-sp_stat-line-height:1em;--e-global-typography-sp_lead-font-family:"Hanken Grotesk";--e-global-typography-sp_lead-font-size:20px;--e-global-typography-sp_lead-font-weight:400;--e-global-typography-sp_lead-line-height:1.55em;--e-global-typography-sp_small-font-family:"Hanken Grotesk";--e-global-typography-sp_small-font-size:15px;--e-global-typography-sp_small-font-weight:400;--e-global-typography-sp_small-line-height:1.5em;--e-global-typography-sp_quote-font-family:"EB Garamond";--e-global-typography-sp_quote-font-size:36px;--e-global-typography-sp_quote-font-weight:400;--e-global-typography-sp_quote-line-height:1.25em;--e-global-typography-sp_nav-font-family:"Hanken Grotesk";--e-global-typography-sp_nav-font-size:15px;--e-global-typography-sp_nav-font-weight:500;--e-global-typography-sp_nav-line-height:1.4em;--e-global-typography-sp_logo-font-family:"Anton";--e-global-typography-sp_logo-font-size:26px;--e-global-typography-sp_logo-font-weight:400;--e-global-typography-sp_logo-text-transform:uppercase;--e-global-typography-sp_logo-line-height:1em;--e-global-typography-sp_logo-letter-spacing:1px;--e-global-typography-sp_number-font-family:"Anton";--e-global-typography-sp_number-font-size:16px;--e-global-typography-sp_number-font-weight:400;--e-global-typography-sp_number-line-height:1em;--e-global-typography-sp_field-font-family:"Hanken Grotesk";--e-global-typography-sp_field-font-size:16px;--e-global-typography-sp_field-font-weight:400;--e-global-typography-sp_field-line-height:1.4em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-sp_white );border-radius:0px 0px 0px 0px;padding:15px 22px 15px 22px;}.elementor-kit-9 button:hover,.elementor-kit-9 button:focus,.elementor-kit-9 input[type="button"]:hover,.elementor-kit-9 input[type="button"]:focus,.elementor-kit-9 input[type="submit"]:hover,.elementor-kit-9 input[type="submit"]:focus,.elementor-kit-9 .elementor-button:hover,.elementor-kit-9 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-sp_white );}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-primary );}.elementor-kit-9 a:hover{color:var( --e-global-color-accent );}.elementor-kit-9 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-sp_h1-font-family ), Sans-serif;font-size:var( --e-global-typography-sp_h1-font-size );font-weight:var( --e-global-typography-sp_h1-font-weight );text-transform:var( --e-global-typography-sp_h1-text-transform );line-height:var( --e-global-typography-sp_h1-line-height );letter-spacing:var( --e-global-typography-sp_h1-letter-spacing );}.elementor-kit-9 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-sp_h3-font-family ), Sans-serif;font-size:var( --e-global-typography-sp_h3-font-size );font-weight:var( --e-global-typography-sp_h3-font-weight );text-transform:var( --e-global-typography-sp_h3-text-transform );line-height:var( --e-global-typography-sp_h3-line-height );letter-spacing:var( --e-global-typography-sp_h3-letter-spacing );}.elementor-kit-9 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-sp_h4-font-family ), Sans-serif;font-size:var( --e-global-typography-sp_h4-font-size );font-weight:var( --e-global-typography-sp_h4-font-weight );line-height:var( --e-global-typography-sp_h4-line-height );}.elementor-kit-9 img{border-radius:0px 0px 0px 0px;}.elementor-kit-9 label{color:var( --e-global-color-sp_muted );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-9 input:not([type="button"]):not([type="submit"]),.elementor-kit-9 textarea,.elementor-kit-9 .elementor-field-textual{font-family:var( --e-global-typography-sp_field-font-family ), Sans-serif;font-size:var( --e-global-typography-sp_field-font-size );font-weight:var( --e-global-typography-sp_field-font-weight );line-height:var( --e-global-typography-sp_field-line-height );color:var( --e-global-color-primary );background-color:var( --e-global-color-sp_white );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-sp_line );border-radius:0px 0px 0px 0px;padding:14px 16px 14px 16px;}.elementor-kit-9 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-9 textarea:focus,.elementor-kit-9 .elementor-field-textual:focus{border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1312px;}.e-con{--container-max-width:1312px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-9{--e-global-typography-primary-font-size:44px;--e-global-typography-secondary-font-size:12px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:12px;--e-global-typography-sp_display-font-size:72px;--e-global-typography-sp_h1-font-size:64px;--e-global-typography-sp_h3-font-size:26px;--e-global-typography-sp_h4-font-size:19px;--e-global-typography-sp_stat-font-size:52px;--e-global-typography-sp_lead-font-size:19px;--e-global-typography-sp_small-font-size:15px;--e-global-typography-sp_quote-font-size:30px;--e-global-typography-sp_nav-font-size:15px;--e-global-typography-sp_logo-font-size:24px;--e-global-typography-sp_number-font-size:16px;--e-global-typography-sp_field-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-9 h1{font-size:var( --e-global-typography-sp_h1-font-size );line-height:var( --e-global-typography-sp_h1-line-height );letter-spacing:var( --e-global-typography-sp_h1-letter-spacing );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{font-size:var( --e-global-typography-sp_h3-font-size );line-height:var( --e-global-typography-sp_h3-line-height );letter-spacing:var( --e-global-typography-sp_h3-letter-spacing );}.elementor-kit-9 h4{font-size:var( --e-global-typography-sp_h4-font-size );line-height:var( --e-global-typography-sp_h4-line-height );}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-9 label{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-9 input:not([type="button"]):not([type="submit"]),.elementor-kit-9 textarea,.elementor-kit-9 .elementor-field-textual{font-size:var( --e-global-typography-sp_field-font-size );line-height:var( --e-global-typography-sp_field-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9{--e-global-typography-primary-font-size:36px;--e-global-typography-secondary-font-size:12px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:12px;--e-global-typography-sp_display-font-size:52px;--e-global-typography-sp_h1-font-size:48px;--e-global-typography-sp_h3-font-size:24px;--e-global-typography-sp_h4-font-size:18px;--e-global-typography-sp_stat-font-size:44px;--e-global-typography-sp_lead-font-size:18px;--e-global-typography-sp_small-font-size:14px;--e-global-typography-sp_quote-font-size:26px;--e-global-typography-sp_nav-font-size:24px;--e-global-typography-sp_logo-font-size:22px;--e-global-typography-sp_number-font-size:16px;--e-global-typography-sp_field-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-9 h1{font-size:var( --e-global-typography-sp_h1-font-size );line-height:var( --e-global-typography-sp_h1-line-height );letter-spacing:var( --e-global-typography-sp_h1-letter-spacing );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-9 h3{font-size:var( --e-global-typography-sp_h3-font-size );line-height:var( --e-global-typography-sp_h3-line-height );letter-spacing:var( --e-global-typography-sp_h3-letter-spacing );}.elementor-kit-9 h4{font-size:var( --e-global-typography-sp_h4-font-size );line-height:var( --e-global-typography-sp_h4-line-height );}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-9 label{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-9 input:not([type="button"]):not([type="submit"]),.elementor-kit-9 textarea,.elementor-kit-9 .elementor-field-textual{font-size:var( --e-global-typography-sp_field-font-size );line-height:var( --e-global-typography-sp_field-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --navy:#102B3D; --e-gv-54cb7f2:#0B1F2C; --e-gv-ec576fa:#2E4E63; --red:#CB0000; --e-gv-b21a9c1:#A30000; --e-gv-39453e3:#FF9B8F; --e-gv-aff705f:#F5F1EA; --e-gv-0baf536:#E8DCC8; --white:#FFFFFF; --e-gv-b5317b4:#33444F; --e-gv-7f8a0bb:#566470; --e-gv-bdfe29a:#C9D4DC; --line:#E1E6EB; --e-gv-e705475:#E4ECF0; --e-gv-1fa8a70:Bricolage Grotesque; --font-body:Hanken Grotesk; --e-gv-c1ed3f7:112px; --e-gv-9dc8f54:96px; --e-gv-2ba4ad5:22px; --e-gv-603a2a8:12px; --e-gv-52be17c:#F5F2EC; --e-gv-49d66e1:#E9E4DA; --ink:#141A1F; --body:#48525A; --muted:#66717A; --e-gv-0058c37:#D9D3C8; --on-navy:#B7C7D3; --font-display:Anton; --font-serif:EB Garamond; --font-mono:IBM Plex Mono; --e-gv-840a8a5:64px; --e-gv-524572c:128px; --tint:#F3F6F9; --tint-2:#E6EDF3; --navy-2:#1B3B52; --red-on-navy:#FF8E8E; --line-on-navy:#FFFFFF29; --white-55:#FFFFFF8C; --shadow:#102B3D24; --white-10:#FFFFFF1A; }
/* Start custom CSS *//* =====================================================================
   SPROCKET — the only custom CSS on the site
   Where it lives: Elementor › Site Settings › Custom CSS (nowhere else).

   House rules for this file (see STYLE-SYSTEM.md › "The CSS exception"):
   - It only adds MOTION and the one accent-word color. It never sets
     fonts, sizes, spacing, backgrounds or layout. Those live in
     Site Settings, Global Classes and widget controls, where you can
     see and edit them.
   - Every rule targets an sp- class you add yourself in the panel
     (Advanced › CSS Classes, or the Classes field). Nothing here targets
     Elementor's internal markup, so nothing changes behind your back.
   - Colors come from Elementor's global color variables, so changing
     a Global Color in Site Settings updates these too.
   - No !important, except the reduced-motion block at the bottom
     (which must beat everything, on purpose).
   Delete any block below and the only thing lost is that one effect.
   ===================================================================== */

/* 1. Accent word in a headline.
   Use: in the Heading text, wrap the word(s):  <span class="sp-accent">Conversions</span>
   Color = the global "Accent" color (Red), on white and on navy alike. */
.sp-accent {
  color: var(--e-global-color-accent);
}

/* 1b. Red accent word in headlines without the class.
   The Elementor MCP strips the class off a <span> when it saves, so a plain
   <span> inside a display / H1 / H2 / H3 headline takes the Accent color too.
   Typing <span class="sp-accent"> in the editor still works (rule 1). */
.sp-display span,
.sp-h1 span,
.sp-h2 span,
.sp-h3 span {
  color: var(--e-global-color-accent);
}

/* 2. Underline that draws in on hover (text links, phone/email, footer links).
   Use: add class sp-ulink to a text link (Heading/Text with a link, or an
   sp-link button with no fill). Not on the nav menu (it has its own
   underline) and not on filled buttons. */
.sp-ulink a,
a.sp-ulink {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.sp-ulink a:hover,
a.sp-ulink:hover {
  background-size: 100% 1px;
}

/* 3. Arrow nudges right on hover (buttons and text links with an arrow icon).
   Use: add class sp-nudge to the Button widget (icon position: after). */
.sp-nudge svg,
.sp-nudge i {
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.sp-nudge:hover svg,
.sp-nudge:hover i {
  transform: translateX(4px);
}

/* 4. Photo zooms very slightly on hover (project tiles, industry cards).
   Use: add class sp-zoom to the container that holds the image, and set that
   container's own Overflow control to Hidden (so the zoom stays inside). */
.sp-zoom img {
  transition: transform 1s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.sp-zoom:hover img {
  transform: scale(1.03);
}

/* 5. Respect "reduce motion" in the visitor's system settings.
   This must win over everything, so it is the one place !important is allowed. */
@media (prefers-reduced-motion: reduce) {
  .sp-ulink a, a.sp-ulink, .sp-nudge svg, .sp-nudge i, .sp-zoom img {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* 6. Selected tab (home "growth mix" goal tabs).
   The Elementor MCP can only style a tab's hover / focus / press states, not
   its selected state, so the selected look is set here.
   Use: add class sp-tab to each Tab element. Colors = Navy and White globals. */
.e-tab-base.sp-tab.e--selected {
  background-color: var(--e-global-color-secondary);
  border-color: var(--e-global-color-secondary);
  color: var(--e-global-color-sp_white);
}
.e-tab-base.sp-tab.e--selected > * {
  color: var(--e-global-color-sp_white);
}

/* 7. Client logo carousel (home page).
   Layout (6 per view, 4 on tablet, 3 on phone) lives in the global classes
   sp-marquee / sp-marquee-track / sp-marquee-item / sp-marquee-img. Only the
   motion is here. The track holds the 15 logos plus copies of the first 6 so
   the loop is seamless: it slides by 15 of its 21 items = 71.4286%.
   If logos are added or removed: change the % below to (logos / (logos + 6)) x 100,
   and keep 6 copies of the first logos at the end of the track. */
@keyframes sp-marquee-slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-71.4286%); }
}
.sp-marquee-track {
  animation: sp-marquee-slide 45s linear infinite;
}
.sp-marquee:hover .sp-marquee-track {
  animation-play-state: paused;
}
@media (prefers-reduced-motion: reduce) {
  .sp-marquee { overflow-x: auto; }
  .sp-marquee-track { animation: none !important; }
}/* End custom CSS */