/* Inline <style> embeds hoisted out of the page markup.
 * Chiefly the fluid type-scale and the responsive --grid--column-count that
 * redefine :root. Linked (not bundler-imported) after the page sheet, so it
 * can override the grid column count the way the reference's in-body embeds do.
 * Generated by tools/extract-pages.mjs — do not edit by hand.
 */

@view-transition {
    navigation: auto;
  }
    /* Create a custom animation */
  @keyframes move-out {
    from { translate: 0% 0%; }
    to { translate: 0% -100%; }
  }

  @keyframes move-in {
    from { translate: 0% 100%; }
    to { translate: 0% 0%; }
  }

  /* Blog rich-text quote blocks */
  .text-rich-text blockquote,
  .text-rich-text blockquote p {
    line-height: 1.35;
  }

  .text-rich-text blockquote p:last-child {
    margin-bottom: 0;
  }

@property --hero-industry-gradient {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 0%;
  }

  @property --next-page-gradient {
    syntax: '<percentage>';
    inherits: false;
    initial-value: 0%;
  }

  .section_delight:has(.confetti-canvas) .delight_component * {
    pointer-events: none;
  }

  .home-loader_component {
    display: block;
  }

/* @link https://utopia.fyi/type/calculator?c=320,15,1.25,1920,18,1.333,9,2,1920&s=0.75|0.5|0.25,1.5|2|2.5|3|3.5|4|5|7|8,s-l&g=s,l,xl,12 */

  :root {
    --_text-base---text-transform--uppercase: uppercase;
    --_text-base---text-transform--none: none;

    /* Core configuration variables */
    --fluid-min-width: 320;
    --fluid-max-width: 1920;
    --fluid-min-font-size: 14; /* Base font size at min viewport */
    --fluid-max-font-size: 18; /* Base font size at max viewport */
    --fluid-min-scale-ratio: 1.25; /* Type scale ratio at min viewport (minor third) */
    --fluid-max-scale-ratio: 1.33; /* Type scale ratio at max viewport (major third) */

    /* Calculated variables for fluid scaling */
    --fluid-screen: 100vw;
    --fluid-bp: calc(
      (var(--fluid-screen) - var(--fluid-min-width) / 16 * 1rem) /
      (var(--fluid-max-width) - var(--fluid-min-width))
      );
  }

  /* Lock fluid-screen at max width */
  @media screen and (min-width: 1920px) {
    :root {
      --fluid-screen: calc(var(--fluid-max-width) * 1px);
    }
  }

  /* Dynamic CSS property generator for all type scales */
  :root {
    /* Generate step 0 (base font size) */
    --f-0-min: var(--fluid-min-font-size);
    --f-0-max: var(--fluid-max-font-size);
    --_text-base---size--m: calc(
      ((var(--f-0-min) / 16) * 1rem) + (var(--f-0-max) - var(--f-0-min)) *
      var(--fluid-bp)
      );

    /* Generate steps below base (smaller sizes) */
    --f--1-min: calc(var(--fluid-min-font-size) / var(--fluid-min-scale-ratio));
    --f--1-max: calc(var(--fluid-max-font-size) / var(--fluid-max-scale-ratio));
    --_text-base---size--s: calc(
      ((var(--f--1-min) / 16) * 1rem) + (var(--f--1-max) - var(--f--1-min)) *
      var(--fluid-bp)
      );

    --f--2-min: calc(var(--f--1-min) / var(--fluid-min-scale-ratio));
    --f--2-max: calc(var(--f--1-max) / var(--fluid-max-scale-ratio));
    --_text-base---size--xs: calc(
      ((var(--f--2-min) / 16) * 1rem) + (var(--f--2-max) - var(--f--2-min)) *
      var(--fluid-bp)
      );

    /* Generate steps above base (larger sizes) */
    --f-1-min: calc(var(--fluid-min-font-size) * var(--fluid-min-scale-ratio));
    --f-1-max: calc(var(--fluid-max-font-size) * var(--fluid-max-scale-ratio));
    --_text-base---size--l: calc(
      ((var(--f-1-min) / 16) * 1rem) + (var(--f-1-max) - var(--f-1-min)) *
      var(--fluid-bp)
      );

    --f-2-min: calc(var(--f-1-min) * var(--fluid-min-scale-ratio));
    --f-2-max: calc(var(--f-1-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--xl: calc(
      ((var(--f-2-min) / 16) * 1rem) + (var(--f-2-max) - var(--f-2-min)) *
      var(--fluid-bp)
      );

    --f-3-min: calc(var(--f-2-min) * var(--fluid-min-scale-ratio));
    --f-3-max: calc(var(--f-2-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--2xl: calc(
      ((var(--f-3-min) / 16) * 1rem) + (var(--f-3-max) - var(--f-3-min)) *
      var(--fluid-bp)
      );

    --f-4-min: calc(var(--f-3-min) * var(--fluid-min-scale-ratio));
    --f-4-max: calc(var(--f-3-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--3xl: calc(
      ((var(--f-4-min) / 16) * 1rem) + (var(--f-4-max) - var(--f-4-min)) *
      var(--fluid-bp)
      );

    --f-5-min: calc(var(--f-4-min) * var(--fluid-min-scale-ratio));
    --f-5-max: calc(var(--f-4-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--4xl: calc(
      ((var(--f-5-min) / 16) * 1rem) + (var(--f-5-max) - var(--f-5-min)) *
      var(--fluid-bp)
      );

    --f-6-min: calc(var(--f-5-min) * var(--fluid-min-scale-ratio));
    --f-6-max: calc(var(--f-5-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--5xl: calc(
      ((var(--f-6-min) / 16) * 1rem) + (var(--f-6-max) - var(--f-6-min)) *
      var(--fluid-bp)
      );

    --f-7-min: calc(var(--f-6-min) * var(--fluid-min-scale-ratio));
    --f-7-max: calc(var(--f-6-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--6xl: calc(
      ((var(--f-7-min) / 16) * 1rem) + (var(--f-7-max) - var(--f-7-min)) *
      var(--fluid-bp)
      );

    --f-8-min: calc(var(--f-7-min) * var(--fluid-min-scale-ratio));
    --f-8-max: calc(var(--f-7-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--7xl: calc(
      ((var(--f-8-min) / 16) * 1rem) + (var(--f-8-max) - var(--f-8-min)) *
      var(--fluid-bp)
      );

    --f-9-min: calc(var(--f-8-min) * var(--fluid-min-scale-ratio));
    --f-9-max: calc(var(--f-8-max) * var(--fluid-max-scale-ratio));
    --_text-base---size--8xl: calc(
      ((var(--f-9-min) / 16) * 1rem) + (var(--f-9-max) - var(--f-9-min)) *
      var(--fluid-bp)
      );
  }

h1, h2, h3, h4, h5, h6,
  .heading-style-h1, .heading-style-h2, .heading-style-h3, .heading-style-h4, .heading-style-h5, .heading-style-h6,
  .text-size-xxlarge, .text-size-xlarge, .text-size-large, .text-size-regular, .text-size-small, .text-size-xsmall {
    font-family: var(--_text-style---font, inherit);
    font-size: var(--_text-style---size, inherit);
    line-height: var(--_text-style---line-height, inherit);
    font-weight: var(--_text-style---weight, inherit);
    letter-spacing: var(--_text-style---letter-spacing, inherit);
    text-transform: var(--_text-style---text-transform, inherit);    
  }

/* Responsive space sizing */
:root {
  --spacing-huge-multiplier: 1;
  --spacing-large-multiplier: 1;
  --spacing-medium-multiplier: 1;
  
  --spacing--10: calc(10rem * var(--spacing-huge-multiplier));
  --spacing--9: calc(9rem * var(--spacing-huge-multiplier));
  --spacing--8: calc(8rem * var(--spacing-huge-multiplier));
  --spacing--7: calc(7rem * var(--spacing-huge-multiplier));
  --spacing--6: calc(6rem * var(--spacing-huge-multiplier));
  --spacing--5: calc(5rem * var(--spacing-huge-multiplier));

  --spacing--4: calc(4rem * var(--spacing-large-multiplier));
  --spacing--3-5: calc(3.5rem * var(--spacing-large-multiplier));
  --spacing--3: calc(3rem * var(--spacing-large-multiplier));
  --spacing--2-5: calc(2.5rem * var(--spacing-large-multiplier));

  --spacing--2: calc(2rem * var(--spacing-medium-multiplier));
  --spacing--1-75: calc(1.75rem * var(--spacing-medium-multiplier));
  --spacing--1-5: calc(1.5rem * var(--spacing-medium-multiplier));
  --spacing--1-25: calc(1.25rem * var(--spacing-medium-multiplier));
}
@media screen and (max-width: 991px) {
	:root {
  	--spacing-huge-multiplier: 0.75;
    --spacing-large-multiplier: 0.85;
    --spacing-medium-multiplier: 0.93;
  }
}
@media screen and (max-width: 767px) {
	:root {
	  --spacing-huge-multiplier: 0.66;
  	--spacing-large-multiplier: 0.75;
    --spacing-medium-multiplier: 0.9;
  }
}

.margin-0 {
  margin: 0rem !important;
}
  
.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
  padding: 0rem !important;
  margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
  
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
  
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
  
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
  
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

:root {
	/* Proxy variable for currentColor since that is not currently directly supported in Custom Properties alongside color-mix in Webflow - blocks site publishing */
	--currentColor: currentColor;
  
  	/* Footer next page interactions */

}

/* Font anti-aliasing */
  * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -o-font-smoothing: antialiased;
  }

  html {
    text-rendering: optimizeSpeed;
  }

  /* Remove default margin in favour of better control in authored CSS */
  body, h1, h2, h3, h4, h5, h6, p,
  figure, blockquote, dl, dd {
    margin-block-start: 0;
    margin-block-end: 0;
  }

  section {
    position: relative;
  }

  /* Set color style to inherit */
  .inherit-color * {
    color: inherit;
  }

  /* Focus state style for keyboard navigation for the focusable elements */
  *[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
  }

  /* Get rid of top margin on first element in any rich text element */
  .w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
    margin-top: 0 !important;
  }

  /* Get rid of bottom margin on last element in any rich text element */
  .w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
    margin-bottom: 0 !important;
  }

  /* Stretching rich-text media to full width on mobile landscape and below */
  @media screen and (max-width: 767px) {
    .w-richtext figure.w-richtext-align-center {
      max-width: 100%;
    }
    .w-richtext figure.w-richtext-figure-type-video {
      width: 100%;
      padding-bottom: 56.25% !important;
    }
  }

  /* Create a class of .div-square which maintains a 1:1 dimension of a div */
  .div-square::after {
    content: "";
    display: block;
    padding-bottom: 100%;
  }

  /* Make sure containers never lose their center alignment */
  .container-medium,.container-small, .container-large {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* 
  Make the following elements inherit typography styles from the parent and not have hardcoded values. 
  Important: You will not be able to style for example "All Links" in Designer with this CSS applied.
  Uncomment this CSS to use it in the project. Leave this message for future hand-off.
  */
  /*
  a,
  .w-input,
  .w-select,
  .w-tab-link,
  .w-nav-link,
  .w-dropdown-btn,
  .w-dropdown-toggle,
  .w-dropdown-link {
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
  }
  */

  button {
    background-color: unset;
    padding: unset;
    text-align: inherit;
  }

  /* Apply "..." after 3 lines of text */
  .text-style-3lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  /* Apply "..." after 2 lines of text */
  .text-style-2lines {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  /* These classes are never overwritten */
  .hide {
    display: none !important;
  }

  @media screen and (max-width: 991px) {
    .hide, .hide-tablet {
      display: none !important;
    }
  }
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
  }
  @media screen and (max-width: 479px) {
    .hide-mobile {
      display: none !important;
    }
  }

  /* Apply "..." at 100% width */
  .truncate-width { 
    width: 100%; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
  }
  /* Removes native scrollbar */
  .no-scrollbar {
    -ms-overflow-style: none;
    overflow: -moz-scrollbars-none; 
  }
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }

  .form_input.is-select-input {
    background-position: right var(--spacing--1) center;
  }

  :root {
    interpolate-size: allow-keywords;
  }

  ::selection {
    background: var(--base-color-brand--ignite-red);
  }

  ul li::marker {
    color: var(--base-color-brand--ignite-blue);
    font-size: 1.25em;
  }

  ul {
    padding-left: 1.5em; /* Adjust as needed */
  }

  .text-rich-text a::after {
    content: "";
    position: absolute;
    left: -0.15em;
    right: -0.15em;
    bottom: -0.1em; /* Adjusts position slightly below text */
    height: 0.15rem; /* Initial underline height */
    z-index: -1;
    background-color: var(--base-color-brand--ignite-blue);
    transition: height 0.6s cubic-bezier(.19, 1, .22, 1);

  }

  .text-rich-text a:hover::after {
    height: calc(0.1em + 100%); /* Expands to full height on hover */
  }

  :root {
    transition-behavior: allow-discrete;
  }

  .gradient-blur {
    /* Default direction variable - can be set to "to top" or "to bottom" */
    --blur-direction: to top;
    /*
    background-image: linear-gradient(
    to bottom,
    hsl(0, 0%, 100%) 0%,
    hsla(0, 0%, 100%, 0.987) 8.1%,
    hsla(0, 0%, 100%, 0.951) 15.5%,
    hsla(0, 0%, 100%, 0.896) 22.5%,
    hsla(0, 0%, 100%, 0.825) 29%,
    hsla(0, 0%, 100%, 0.741) 35.3%,
    hsla(0, 0%, 100%, 0.648) 41.2%,
    hsla(0, 0%, 100%, 0.55) 47.1%,
    hsla(0, 0%, 100%, 0.45) 52.9%,
    hsla(0, 0%, 100%, 0.352) 58.8%,
    hsla(0, 0%, 100%, 0.259) 64.7%,
    hsla(0, 0%, 100%, 0.175) 71%,
    hsla(0, 0%, 100%, 0.104) 77.5%,
    hsla(0, 0%, 100%, 0.049) 84.5%,
    hsla(0, 0%, 100%, 0.013) 91.9%,
    hsla(0, 0%, 100%, 0) 100%
    );
    */
  }

  .gradient-blur > div,
  .gradient-blur::before,
  .gradient-blur::after {
    position: absolute;
    inset: 0;
  }
  .gradient-blur::before {
    content: "";
    z-index: 1;
    backdrop-filter: blur(0.5px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 0%,
      rgba(0, 0, 0, 1) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 0) 37.5%
    );
  }
  .gradient-blur > div:nth-of-type(1) {
    z-index: 2;
    backdrop-filter: blur(1px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 12.5%,
      rgba(0, 0, 0, 1) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 0) 50%
    );
  }
  .gradient-blur > div:nth-of-type(2) {
    z-index: 3;
    backdrop-filter: blur(2px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 25%,
      rgba(0, 0, 0, 1) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 0) 62.5%
    );
  }
  .gradient-blur > div:nth-of-type(3) {
    z-index: 4;
    backdrop-filter: blur(4px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 37.5%,
      rgba(0, 0, 0, 1) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 0) 75%
    );
  }
  .gradient-blur > div:nth-of-type(4) {
    z-index: 5;
    backdrop-filter: blur(8px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 50%,
      rgba(0, 0, 0, 1) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 0) 87.5%
    );
  }
  .gradient-blur > div:nth-of-type(5) {
    z-index: 6;
    backdrop-filter: blur(16px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 62.5%,
      rgba(0, 0, 0, 1) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 0) 100%
    );
  }
  .gradient-blur > div:nth-of-type(6) {
    z-index: 7;
    backdrop-filter: blur(32px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 75%,
      rgba(0, 0, 0, 1) 87.5%,
      rgba(0, 0, 0, 1) 100%
    );
  }
  .gradient-blur::after {
    content: "";
    z-index: 8;
    backdrop-filter: blur(64px);
    mask: linear-gradient(
      var(--blur-direction),
      rgba(0, 0, 0, 0) 87.5%,
      rgba(0, 0, 0, 1) 100%
    );
  }

  /* Utility classes for easy direction switching */
  .gradient-blur-top {
    --blur-direction: to top;
  }

  .gradient-blur-bottom {
    --blur-direction: to bottom;
  }

  table {
    width: 100%
  }
  table tr {
    margin-bottom: 3rem;
  }

  /**
  * Dialog element, used for lightbox modals
  */
  dialog {
    --_backdrop-color: rgba(0, 0, 0, 0.6);
    --_transition-duration: 0.8s;
    display: none;
    transform: translateY(50%);
    position: fixed;
    justify-content: center;
    align-items: center;
    opacity: 0;
    border: 0;
    padding: 0;
    margin: 0;
    max-width: none;
    max-height: none;
    width: 100%;
    height: 100%;
    background: transparent;
    transition-property: overlay display transform opacity;
    transition-duration: var(--_transition-duration);
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
    transition-behavior: allow-discrete;
    cursor: auto;
  }
  dialog::backdrop {
    background-color: transparent;
    backdrop-filter: blur(6px);
    transition-property: overlay display background-color;
    transition-duration: var(--_transition-duration);
    transition-behavior: allow-discrete;
  }
  dialog[open] {
    transform: translateY(0%);
    display: flex;
    opacity: 1;
    z-index: 999999;

    @starting-style {
      transform: translateY(50%);
      opacity: 0;
    }
  }

  dialog[open]::backdrop {
    background-color: var(--_backdrop-color); 
  }
  @starting-style {
    dialog[open]::backdrop {
      background-color: transparent;
    }
  }

  /* Table */
  table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid #e5e5e5;
  padding: 10px;
}

th {
  border-bottom: 2px solid #ddd;
}

    /* Apply the custom animation to the old and new page states */
  ::view-transition-old(root) {
    animation: 0.8s cubic-bezier(0.85, 0.09, 0.15, 0.91) both move-out;
  }

  ::view-transition-new(root) {
    animation: 0.8s cubic-bezier(0.85, 0.09, 0.15, 0.91) both move-in;
  }

/**
 * Grid system variables
 */
:root {
	--grid--column-count: 12;
  --grid--column-width: calc((min(var(--container--large), (100vw - (var(--page-padding) * 2))) - (var(--grid--column-count) - 1) * var(--grid--column-gap)) / var(--grid--column-count));
}

.is-grid-full-width {
	--grid--column-total-gap: calc( var(--grid--column-gap) * (var(--grid--column-count) - 1) );
  --grid--edge-gutter: minmax( calc(var(--page-padding) - var(--grid--column-gap)), 1fr );
  --grid--container-columns: 
  	minmax(
    	0px, 
      calc(
      	(var(--container--large) - var(--grid--column-total-gap)) / 
        var(--grid--column-count) 
    	)
    );
	grid-template-columns: 
      [full-width-start] 
      	var(--grid--edge-gutter) 
        [container-start] 
        	repeat( var(--grid--column-count), var(--grid--container-columns) )
    		[container-end]
      	var(--grid--edge-gutter)
    	[full-width-end];
}

/** Tablet multipliers for fonts */
@media screen and (max-width: 991px) {
	:root {
    --grid--column-count: 8;
  }
}

/** Mobile landscape */
@media screen and (max-width: 767px) {
	:root {
  	--grid--column-count: 4;
    --grid--column-gap: var(--spacing--1);
    --grid--row-gap: var(--spacing--2);
  }
}

html.wf-design-mode {

  .hide-in-designer {
  display: none;
  }
  
  .testimonials_ix-trigger {
  	margin-top: 0;
  }
  
 	.cursor {
  	left: 50%;
    top: 50%;
  }
  
  .horizontal-scroll {
  	flex-direction: column;
  }
  
  .scrub-intro_paragraph-wrapper {
  	position: static;
  }

  .horizontal-scroll {
  	position: relative;
  }

  .testimonials_component {
 height: 100vh;
  }
  
  .hide-live.w-condition-invisible {
  	display: flex !important;
  }
  

  
}

/* Add the site components styling here.
  * Anything that isn't for global site elements
  */

  /* Prevents hover states from being used on Tablet & Mobile */
  @media only screen and (min-width: 992px) {
    .button:hover .button_icon {
      transform: translateX(50%);
    }
    /*
    .button:hover .button_text {
    transform: translateY(calc(-1 * (1.4em + var(--spacing--1-25))));
  }
    */
  }

  .button.is-link .button_line {
    display: block;
  }

  .button.is-link:hover .button_line {
    transform: translateX(0%);
  }

  .button.is-link:has(.button_icon) {
    margin-right: -1.3rem;
    padding-right: 1.3rem;
  }

  .menu-button-text p {
    position: relative;
    overflow: clip;
    flex: 0 0 auto;
  }
  .menu-button-text p::after {
    content: "";
    position: absolute;
    width: 100%;
    bottom: 0;
    left: -1px;
    height: 0.1em;
    background-color: currentColor;
    transform: translateX(-100%);
    transition-property: transform;  
    transition-duration: 800ms;    
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
  }

  .menu-button:hover .menu-button-text p::after {
    transform: translateX(0%);
  }


  :root {
    --menu-padding: 2em;
  }
  /* Menu toggle button*/
  .menu-button:hover .icon-wrap {transform: rotate(90deg); }

  /* Menu Large Links 
  .menu-link:hover .menu-link-heading{ transform: translate(0px, -100%); transition-delay: 0.1s; }
  .menu-link:hover .menu-link-bg{ transform: scale(1,1) }
  */
  /* Menu Smaller Links */
  .text-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: var(--color-primary);
    transform-origin: right center;
    transform: scale(0,1);
    transition: transform 0.4s var(--cubic-default)
  }

  .text-link:hover::after{
    transform-origin: left center;
    transform: scale(1,1);	
  }

  @media screen and (max-width: 767px){
    :root{
      --menu-padding: var(--container-padding);
    }
  }




  /* Truncate news card paragraphs */
  .blog_item p {
    display: -webkit-box;        
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; 
    overflow: hidden;         
    text-overflow: ellipsis; 
  }

  .testimonials_collection-item:nth-child(2n+1) .testimonials_card, [data-el="fly-card"]:nth-child(2n+1) {
    background-color: var(--background-color--background-primary);
    transform: rotateZ(-4deg);
  }


  html.wf-design-mode [data-hover-target]:hover [data-hover-move] {
    transform: scale(1);
  }

  .blog_meta-wrapper p:empty {
    display: none;
  }

  html:not(.wf-design-mode) .span-element-wrapper {
    display: none;
  }

  .line {
    overflow: hidden;
  }

  .resources-card:hover :is(.resources-card_icon:not(.is-background), .resources-card_image) {
    transform: scale(1.1) rotate(-4deg);
  }

  .resources-card:hover .button {
    color: var(--text-color--text-primary);
    background-color: var(--background-color--background-primary);  

  }


  .resources-card:hover .button .button_icon {
    transform: translateX(50%);
  }





  .horizontal-blog_featured-item:is(:hover, :focus) {
    color: var(--text-color--text-alternate);
  }

  .horizontal-blog_featured-item:is(:hover, :focus) .horizontal-blog_background {
    transform: translate(0);
  }

  .w-tabs::after, .w-tabs::before {
    display: none !important;
    grid-area: none !important;
  }

  /* Featured work Slider tabs slide-in animation */
  .layout_home-tabs_tab-pane {
    display: block; /* Override default webflow style */
  }
  .layout_home-tabs_tab-pane.w-tab-pane.w--tab-active {
    transform: translateX(calc(-100% * var(--tab-index)));
  }
  .layout_home-tabs_tab-pane:nth-child(1) {
    --tab-index: 0;
  }
  .layout_home-tabs_tab-pane:nth-child(2) {
    --tab-index: 1;
  }
  .layout_home-tabs_tab-pane:nth-child(3) {
    --tab-index: 2;
  }
  .layout_home-tabs_tab-pane.w--tab-active ~ .layout_home-tabs_tab-pane {
    transform: translateX(calc((100% * var(--tab-index)) + 100%)); /* tabs after the active tab */
  }
  .layout_home-tabs_tab-pane:has(~ .layout_home-tabs_tab-pane.w--tab-active) {
    transform: translateX(calc((-100% * var(--tab-index)) - 100%)); /* tabs before the active tab */
  }

  .layout_home-tabs_tab-pane .book-size-wrapper {
    transform: translateX(-200%);
  }

  .layout_home-tabs_tab-pane.w--tab-active .book-size-wrapper {
    transform: translateX(0);
  }



  .home-loader_number-wrapper::after {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: currentColor;
    opacity: 0.2;

  }

  .next-page_heading {
    background-image: linear-gradient(0deg, var(--base-color-brand--ignite-blue) var(--scroll-progress-percent), currentColor var(--scroll-progress-percent));
  }

  .footer_next-page_component:is(:hover, :focus-within) .footer_next-page_background {
   /* --move-amount: calc(-1 * var(--scroll-progress) * 2rem);
    transform: translateY(var(--move-amount));
    */
    transform: none;
  }

  .footer_next-page_component .marquee_heading:after {
    content: ".";
  }
  
  .education .button:focus {
  	outline-color: var(--base-color-brand--ignite-red);
  }

  .accordions_item_component[open] .accordions_item_icon {
    transform: rotate(-45deg);
  }

/* Projects */
@media (min-width: 991px) {
.work_project-nav_items:has(.w--current)
  .work_item_toggle:not(:has(.w--current)):not(:hover) > .work_item_title {
  opacity: 0.7;
}
  .work_project-nav_items .work_item_toggle:has(.w--current) > .work_item_title {
    transform: translateX(0.5rem);
  }
}


.filter-form {
  scrollbar-width: thin;
  scrollbar-color: #d3d3d3 transparent;
}
.filter-form::-webkit-scrollbar {
  width: 8px;
}
.filter-form::-webkit-scrollbar-track {
  background: transparent;
}
.filter-form::-webkit-scrollbar-thumb {
  background-color: #d3d3d3;
  border-radius: 10px;
  border: 2px solid transparent;
}
.filter-form::-webkit-scrollbar-thumb:hover {
  background-color: #b0b0b0;
}

.work_component *:first-child > .work_item_toggle > .work_item_divider {
  display: none;
}

.display-contents:first-child > .work_item_content {
  padding-top: 0;
}

  /* Projects nav list */ 
@media (min-width: 991px) {
  @container (min-height: calc(100vh - 11rem - 1px)) {
    .work_project-nav_overflow {
      display: block;
    }
  }
}
.work_project-nav_items {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.work_project-nav_items::-webkit-scrollbar {
  display: none;
}
.work_item_toggle:hover > .work_item-background {
  transform: none;
}
.work_item_toggle:hover > .work_item_title {
  transform: translateX(1rem);
}
.work_item_toggle:hover {
  color: white;
}

/* Reviews */ 
    .reviews_card .text-rich-text {
    --text-highlight: color-mix(in srgb, black, transparent 0%);
    font-weight: 500;
    color: var(--text-highlight);
  }


  .reviews_card .text-rich-text strong {
    font-weight: 500;
    display: inline;
    padding-left: 0.2em;
    padding-right: 0.2em;
    /*background-clip: text;*/
    background-size: 0% 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(90deg, var(--base-color-brand--ignite-green) 100%, transparent);
    /*background-color: var(--base-color-brand--ignite-purple);*/
    animation: intro-text-color-fill linear both;
    animation-timeline: view();
    animation-range: cover 30% contain 50%;
  }
@media (prefers-reduced-motion: no-preference) {}
  @keyframes intro-text-color-fill {
    from { background-size: 0% 100%; }
    to { background-size: 110% 100%; }
  }

@media (pointer: fine) {
    @keyframes translateUp {
      from { transform: translateY(0); }
      to { transform: translateY(-100%); }
    }

    @keyframes translateUpFromBottom {
      from { transform: translateY(100%); }
      to { transform: translateY(0); }
    }
  }

  :root {
    --i: 0;
  }

  .nav_logo path:nth-child(1) { --i: 0; }
  .nav_logo path:nth-child(2) { --i: 1; }
  .nav_logo path:nth-child(3) { --i: 2; }
  .nav_logo path:nth-child(4) { --i: 3; }
  .nav_logo path:nth-child(5) { --i: 4; }
  .nav_logo path:nth-child(6) { --i: 5; }
  .nav_logo path:nth-child(7) { --i: 6; }

  .nav_logo path:nth-child(8) { --i: 0; }
  .nav_logo path:nth-child(9) { --i: 1; }
  .nav_logo path:nth-child(10) { --i: 2; }
  .nav_logo path:nth-child(11) { --i: 3; }
  .nav_logo path:nth-child(12) { --i: 4; }
  .nav_logo path:nth-child(13) { --i: 5; }
  .nav_logo path:nth-child(14) { --i: 6; }

  .nav_logo path {
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.87, 0, 0.13, 1);;
  }

.nav_logo-link:is(:hover, :focus-within) .nav_logo-start {
  animation: translateUp 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards;
  animation-delay: calc(var(--i) * 0.02s);
}

.nav_logo-link:is(:hover, :focus-within) .nav_logo-under {
  animation: translateUpFromBottom 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards;
  animation-delay: calc(var(--i) * 0.02s);
}

  @media (pointer: coarse) {
    .cursor {
      display: none;
    }
  }

  html:has(a:hover, button:hover) .cursor_background {
    transform: scale(1.5);
  }

  html:has([data-cursor-static]:hover) .cursor_background {
    transform: scale(1);
  }

  html:has(/*[data-cursor]:hover,*/ [data-cursor-hide]:hover) .cursor_background {
    transform: scale(0);
  }
  
  html:has(.delight_section-wrapper:hover) .cursor_background {
  	transform: scale(0);
  }
  
  html:has(.delight_section-wrapper[data-active-section="leads"]:hover) .cursor_background {
  	transform: scale(4);
  }
  

  
/* Delight 
  html:has([data-cursor]:hover) .cursor_content-wrap {
    transform: scale(1);
  }

  html:has([data-cursor]:hover) .cursor-content_image.point {
    transform: rotateZ(-15deg) scale(1);
  }



  html:has([data-cursor="edit!"]:hover) .cursor-content_image.point {
    display: none;
  }

  html:has([data-cursor="edit!"]:hover) .cursor-content_image.edit {
    transform: rotateZ(0deg) scale(1);
  }

  html:has([data-cursor="edit!"]:hover) .cursor_content-wrap {
    left: 95%;
    top: 40%;
  }
  */
  


  html:has(:is(.section_supercharged, .button.is-nav):hover) .cursor_background {
    background-color: var(--base-color-brand--ignite-blue);
  }

  [gsap-hover-stagger] {
    overflow: clip;
  }
  @media screen and (min-width: 1100px) and (pointer: fine) {
    [gsap-hover-stagger] {
    	--_text-shadow-color: currentColor;
      text-shadow: 0 1lh 0 var(--_text-shadow-color);
    }
    [gsap-hover-stagger="accent-text"] {
    	--_text-shadow-color: var(--base-color-brand--ignite-red); 
    }
  }
  
  /* Set all scrub text spans to facilitate transform application */
  :where([gsap-hover-stagger], [gsap-line-stagger], [gsap-letter-stagger], [data-scrub]) span {
  	display: inline-block !important;
  }

  [gsap-letter-stagger] .split-word-mask {
  margin-bottom: -0.1em;
  padding-bottom: 0.1em;
}

/* Reference any CSS keyframe animations here */

@media (prefers-reduced-motion: no-preference) {
	/* Run full animations when user hasn't specifically requested reduced motion */
  
  @keyframes marquee {
  	0% { transform: translateX(0%); }
    100% { transform: translateX( calc( -100% - var(--marquee-gap) ) ); }
  }
}

:is(.marq-advanced_heading, .marquee_heading)::after {
	content: "."
}

.book_container {
  --_book-height: min(100cqh, 70rem);
    --_book-height-ratio: 1.4; /* The multiplier applied to the responsive width to define the book height */
  --_book-width: calc(var(--_book-height) / var(--_book-height-ratio));
  --_book-perspective-multiplier: 2.2;
  --_book-thickness-multiplier: 0.25; /* The multiplier applied to the responsive width to define the book thickness */
  --_book-radius-multiplier: 0.8; /* The multiplier applied to the responsive width to define the book border radius on the top/bottom right corners, divided by 100 */
  --_book-pagegap-multiplier: 1; /* The multiplier applied to the responsive width to define the inset of pages from the covers */
  --_book-rotationY: -20deg;
  --_book-rotationX: 10deg;

  --_book-container-perspective: calc(var(--_book-width) * var(--_book-perspective-multiplier));
  --_book-thickness: calc(var(--_book-width) * var(--_book-thickness-multiplier));
  --_book-radius: calc(var(--_book-width) * var(--_book-radius-multiplier) / 100);
  --_book-page-gap: calc(var(--_book-width) * var(--_book-pagegap-multiplier) / 100);
  --_book-page-color: #ebebeb;
}

.book_pages {
  background: linear-gradient(
    90deg,
    #fff 0%,
    var(--_book-page-color) 5%,
    #fff 10%,
    var(--_book-page-color) 15%,
    #fff 20%,
    var(--_book-page-color) 25%,
    #fff 30%,
    var(--_book-page-color) 35%,
    #fff 40%,
    var(--_book-page-color) 45%,
    #fff 50%,
    var(--_book-page-color) 55%,
    #fff 60%,
    var(--_book-page-color) 65%,
    #fff 70%,
    var(--_book-page-color) 75%,
    #fff 80%,
    var(--_book-page-color) 85%,
    #fff 90%,
    var(--_book-page-color) 95%,
    #fff 100%
  );
}

.book-pages-top,
.book-pages-bottom {
  background: linear-gradient(
    0deg,
    #fff 0%,
    var(--_book-page-color) 5%,
    #fff 10%,
    var(--_book-page-color) 15%,
    #fff 20%,
    var(--_book-page-color) 25%,
    #fff 30%,
    var(--_book-page-color) 35%,
    #fff 40%,
    var(--_book-page-color) 45%,
    #fff 50%,
    var(--_book-page-color) 55%,
    #fff 60%,
    var(--_book-page-color) 65%,
    #fff 70%,
    var(--_book-page-color) 75%,
    #fff 80%,
    var(--_book-page-color) 85%,
    #fff 90%,
    var(--_book-page-color) 95%,
    #fff 100%
  );
}

h1.home-hero_title span {
    line-height: inherit;
  }

  /* Editable text */
  .is-text-editable {
    caret-color: var(--base-color-brand--ignite-red);
    --pseudo-opacity: 1;
  }

  .is-text-editable:not(:is(:focus, :focus-visible))::before {
    position: absolute;
    content: "";
    right: 0.01em;
    height: 1em;
    bottom: 0%;
    width: 1px;
    transform: translateY(10%);
    background-color: color-mix(in srgb, var(--base-color-brand--ignite-red), transparent calc(100% - (var(--pseudo-opacity) * 100%)));
    animation: caretBlink 1s steps(1) infinite;
  }

  @keyframes caretBlink {
    0% {
      opacity: 1;
    }
    50% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

  .is-text-editable:not(:is(:focus, :focus-visible))::after {
    position: absolute;
    content: "click to edit me";
    left: 0;
    top: calc(0% - 1.5em);
    padding-right: 0.5em;
    padding-left: 0.5em;
    border-top-left-radius: var(--radius--tiny);
    border-top-right-radius: var(--radius--tiny);
    background-color: var(--base-color-brand--ignite-blue);
    font-family: var(--_text-base---body);
    color: var(--text-color--text-alternate);
    font-size: 0.875rem;
    text-align: left;
    line-height: 1.5;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.01em;
    opacity: var(--pseudo-opacity);
  }

  /*
  Supercharged Feature
  */
  [data-supercharge="true"] {
    --text-color--text-primary: var(--text-color--text-alternate) !important;
  }

  [data-supercharge="true"] .home-hero_easter-egg-wrapper {
    display: block;
    opacity: 1;
  }

  [data-supercharge="true"] .supercharge_hide {
    opacity: 0;
    transform: translateY(5rem);
  }

  .page-wrapper:has([data-supercharge="true"]) .nav_component {
    background-color: hsla(0, 0.00%, 100.00%, 0.50);
  }

  .supercharge-button .button_text {
    overflow: clip;
    width: 0;
    transition-property: width;
    transition-timing-function: ease;
    transition-duration: 500ms;
  }

  .supercharge-button:hover .button_text {
    width: 9ch;
  }


  .supercharge-button:hover .supercharged-button_icon {
    transform: rotateY(360deg);
    color: var(--base-color-brand--ignite-red);
  }

  .section_supercharged::selection {
    background: var(--base-color-brand--black);
  }

  /*
  Team Section
  */
  .team-feature_paragraph-wrapper {
    transition: grid-template-rows 0.6s cubic-bezier(.19, 1, .22, 1);
  }

  .team-feature_paragraph-wrapper p {
    overflow: clip;
  }

  @media (pointer: fine) {
    .team-feature_member-item:hover .team-feature_paragraph-wrapper,
    .team-feature_member-item:focus .team-feature_paragraph-wrapper {
      grid-template-rows: 1fr;
    }
    .team-feature_paragraph-mobile-overlay {
      display: none;
    }
  }

  @media (pointer: coarse) {
    .team-feature_paragraph-wrapper {
      grid-template-rows: 0.6fr;
    }
    .team-feature_member-item:focus-within .team-feature_paragraph-wrapper {
      grid-template-rows: 1fr;
    }
    .team-feature_paragraph-mobile-overlay {
      display: block;
      opacity: 1;
    }
    .team-feature_member-item:focus-within .team-feature_paragraph-mobile-overlay {
      opacity: 0;
    }
  }

  /*
  Work Feature Section
  */

  .home-tabs_link-block:is(:hover, :focus-within) .home-tabs_link-overlay {
    transform: scaleY(1);
  }
  .home-tabs_link-block:is(:hover, :focus-within) {
    color: white;
  }

  .home-tabs_link-block:is(:hover, :focus-within) .home-tabs_link-text {
    transform: translateX(1rem);
  }
  .home-tabs_link-block:is(:hover, :focus-within) .pill-tag-wrapper {
    opacity: 1;
  }

  @media screen and (min-width: 992px) and (pointer: fine) {
    .home-tabs_link-block .home-tabs_link-video-wrapper {
      transform: scale(0);
    }

    .home-tabs_link-block .home-tabs_link-video-wrapper .vimeo-embed {
      display: none;
    }
    .home-tabs_link-block:is(:hover, :focus-within) .home-tabs_link-video-wrapper .vimeo-embed {
      display: block;
    }
    .home-tabs_link-block:is(:hover, :focus-within) .home-tabs_right-wrapper > .pill-tag-wrapper {
      transform: translateY(calc(-100% - 1px));
    }
    .home-tabs_link-block:is(:hover, :focus-within) .home-tabs_right-wrapper > .home-tabs_right-button-wrapper {
      transform: translateY(0%);
    }
  }

  /**
  * Delight section
  */
  @media (pointer: fine) {
    .delight_tap-prompt {
      visibility: hidden;
      display: none;
    }
  }

  .wf-design-mode :is(.section_delight_new, .delight_sticky-wrapper) {
    position: relative;
    overflow: visible;
  }
  .wf-design-mode .delight_section-wrapper {
    height: 300vh;
  }
  [data-active-section="edit"] [contenteditable] {
    pointer-events: auto;
  }

  [data-active-section="delight"]:hover #cursor-delight {
    transform: translate(var(--cursor-x, 50vw), var(--cursor-y, 50vh)) scale(1) rotate(0deg);
    opacity: 1;
    }
    [data-active-section="edit"]:hover #cursor-edit {
    transform: translate(var(--cursor-x, 50vw), var(--cursor-y, 50vh)) scale(1) rotate(0deg);
    opacity: 1;
    }

.home-hero_title-rotating-text {
    background-image: linear-gradient(0deg, var(--industry-color) var(--hero-industry-gradient), currentColor var(--hero-industry-gradient));
    animation: hero-industry-swap var(--duration) infinite cubic-bezier(.76, .001, 0, .995); /* Fallback */
    animation: 
    	hero-industry-swap var(--duration) infinite cubic-bezier(.76, .001, 0, .995),
      hero-industry-name-fill var(--duration) infinite cubic-bezier(0.66, 0.19, 1, 1);
  }
  .home-hero_title-rotating-text:nth-child(1) {
  	animation-delay: calc(-1 * var(--duration));
  }
  .home-hero_title-rotating-text:nth-child(2) {
  	animation-delay: calc(-1 * var(--duration) / 1.5);
  }
  .home-hero_title-rotating-text:nth-child(3) {
  	animation-delay: calc(-1 * var(--duration) / 3);
  }
  
  .home-hero_title-rotating-text::selection {
		color: var(--base-color-brand--black);
    -webkit-text-fill-color: var(--base-color-brand--black);
  }

  @keyframes hero-industry-swap {
    0% {
      transform: translateY(100%);
    }
    5.33%, 31.66% {
      transform: translateY(0%);
    }
    38%, 100% {
      transform: translateY(-100%);
    }
  }
  

  @keyframes hero-industry-name-fill {
    0%, 3%, 100% {
      --hero-industry-gradient: 0%;
    }
    35%, 38% {
      --hero-industry-gradient: 100%;
    }
  }

@media (pointer: coarse) {
    .nav {
      overflow: auto;
    }
  }

  .nav_logo-link {
    display: block;
    @starting-style {
      opacity: 1;
    }
  }
  .nav_component:has([data-nav="open"]) .nav_logo-link {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease, 
      display 0.3s ease allow-discrete;
  }

.scrub-intro_paragraph-wrapper:not(:first-child, :last-child) {
    position: fixed;
    width: 100%;
    max-width: var(--container--large);
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
    padding: 0 var(--page-padding);
  }
  
  .scrub-intro_paragraph {
  	display: inline;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: currentColor;
    background-image: linear-gradient(90deg, #fff 90%, transparent);
    background-size: 0% 100%;
    background-repeat: no-repeat;
    color: rgba(255, 255, 255, 0.3);
  }

@media (not (pointer: fine)) or (max-width: 991px) {
    .home-tabs_link-video-wrapper {
      display: none;
    }
  }

.text-rich-text :is(h1, h2, h3, h4, h5, h6) {
  scroll-margin-top: 4rem;
}

.text-rich-text h3 {
  line-height: 1.1;
}



.social-icons_link * {
  transition-property: transform;
  transition-duration: 600ms;
  transition-timing-function: cubic-bezier(.19, 1, .22, 1);
}

.social-icons_link:hover * {
  transform: translate(0px, -0.125rem);
}

/* @link https://utopia.fyi/type/calculator?c=320,15,1.25,1920,18,1.333,9,2,1920&s=0.75|0.5|0.25,1.5|2|2.5|3|3.5|4|5|7|8,s-l&g=s,l,xl,12 */

  :root {
    --_type-base---text-transform--uppercase: uppercase;
    --_type-base---text-transform--none: none;

    /* Core configuration variables */
    --fluid-min-width: 320;
    --fluid-max-width: 1920;
    --fluid-min-font-size: 14; /* Base font size at min viewport */
    --fluid-max-font-size: 16; /* Base font size at max viewport */
    --fluid-min-scale-ratio: 1.25; /* Type scale ratio at min viewport (minor third) */
    --fluid-max-scale-ratio: 1.33; /* Type scale ratio at max viewport (major third) */

    /* Calculated variables for fluid scaling */
    --fluid-screen: 100vw;
    --fluid-bp: calc(
      (var(--fluid-screen) - var(--fluid-min-width) / 16 * 1rem) /
      (var(--fluid-max-width) - var(--fluid-min-width))
      );
  }

  /* Lock fluid-screen at max width */
  @media screen and (min-width: 1920px) {
    :root {
      --fluid-screen: calc(var(--fluid-max-width) * 1px);
    }
  }

  /* Dynamic CSS property generator for all type scales */
  :root {
    /* Generate step 0 (base font size) */
    --f-0-min: var(--fluid-min-font-size);
    --f-0-max: var(--fluid-max-font-size);
    --_type-base---scale--m: calc(
      ((var(--f-0-min) / 16) * 1rem) + (var(--f-0-max) - var(--f-0-min)) *
      var(--fluid-bp)
      );

    /* Generate steps below base (smaller sizes) */
    --f--1-min: calc(var(--fluid-min-font-size) / var(--fluid-min-scale-ratio));
    --f--1-max: calc(var(--fluid-max-font-size) / var(--fluid-max-scale-ratio));
    --_type-base---scale--s: calc(
      ((var(--f--1-min) / 16) * 1rem) + (var(--f--1-max) - var(--f--1-min)) *
      var(--fluid-bp)
      );

    --f--2-min: calc(var(--f--1-min) / var(--fluid-min-scale-ratio));
    --f--2-max: calc(var(--f--1-max) / var(--fluid-max-scale-ratio));
    --_type-base---scale--xs: calc(
      ((var(--f--2-min) / 16) * 1rem) + (var(--f--2-max) - var(--f--2-min)) *
      var(--fluid-bp)
      );

    /* Generate steps above base (larger sizes) */
    --f-1-min: calc(var(--fluid-min-font-size) * var(--fluid-min-scale-ratio));
    --f-1-max: calc(var(--fluid-max-font-size) * var(--fluid-max-scale-ratio));
    --_type-base---scale--l: calc(
      ((var(--f-1-min) / 16) * 1rem) + (var(--f-1-max) - var(--f-1-min)) *
      var(--fluid-bp)
      );

    --f-2-min: calc(var(--f-1-min) * var(--fluid-min-scale-ratio));
    --f-2-max: calc(var(--f-1-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--xl: calc(
      ((var(--f-2-min) / 16) * 1rem) + (var(--f-2-max) - var(--f-2-min)) *
      var(--fluid-bp)
      );

    --f-3-min: calc(var(--f-2-min) * var(--fluid-min-scale-ratio));
    --f-3-max: calc(var(--f-2-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--2xl: calc(
      ((var(--f-3-min) / 16) * 1rem) + (var(--f-3-max) - var(--f-3-min)) *
      var(--fluid-bp)
      );

    --f-4-min: calc(var(--f-3-min) * var(--fluid-min-scale-ratio));
    --f-4-max: calc(var(--f-3-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--3xl: calc(
      ((var(--f-4-min) / 16) * 1rem) + (var(--f-4-max) - var(--f-4-min)) *
      var(--fluid-bp)
      );

    --f-5-min: calc(var(--f-4-min) * var(--fluid-min-scale-ratio));
    --f-5-max: calc(var(--f-4-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--4xl: calc(
      ((var(--f-5-min) / 16) * 1rem) + (var(--f-5-max) - var(--f-5-min)) *
      var(--fluid-bp)
      );

    --f-6-min: calc(var(--f-5-min) * var(--fluid-min-scale-ratio));
    --f-6-max: calc(var(--f-5-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--5xl: calc(
      ((var(--f-6-min) / 16) * 1rem) + (var(--f-6-max) - var(--f-6-min)) *
      var(--fluid-bp)
      );

    --f-7-min: calc(var(--f-6-min) * var(--fluid-min-scale-ratio));
    --f-7-max: calc(var(--f-6-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--6xl: calc(
      ((var(--f-7-min) / 16) * 1rem) + (var(--f-7-max) - var(--f-7-min)) *
      var(--fluid-bp)
      );

    --f-8-min: calc(var(--f-7-min) * var(--fluid-min-scale-ratio));
    --f-8-max: calc(var(--f-7-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--7xl: calc(
      ((var(--f-8-min) / 16) * 1rem) + (var(--f-8-max) - var(--f-8-min)) *
      var(--fluid-bp)
      );

    --f-9-min: calc(var(--f-8-min) * var(--fluid-min-scale-ratio));
    --f-9-max: calc(var(--f-8-max) * var(--fluid-max-scale-ratio));
    --_type-base---scale--8xl: calc(
      ((var(--f-9-min) / 16) * 1rem) + (var(--f-9-max) - var(--f-9-min)) *
      var(--fluid-bp)
      );
  }

html:not(.wf-design-mode) [data-grid-guide="wrap"] {
	display: none;
}
[data-grid-guide="list"] {
	counter-reset: gridguides;
}
[data-grid-guide="list"] > div::before {
  counter-increment: gridguides;
  content: counter(gridguides);
}

.blog-feature_wrapper .blog_item {
	border: none;
}	
.blog-feature_slide .slide-progress_progress-bar {
  animation: lineLoader 10s linear;
}


@keyframes lineLoader {
  0% {
    transform: scaleX(0);
 	}
  100% {
    transform: scaleX(0);
  }
}

.blog_item:hover .blog_item-background {
  transform: translateY(0%);
}

 .blog-feature_slider-paginator .progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--spacing--0-25);
  background: #101830; /* Full black background for progress bar */
  transform: scaleX(0); /* Start from 0% width */
  transform-origin: left; /* Animate from left to right */
  transition: transform 0.1s linear; /* Smooth updates for progress changes */
}
  
@keyframes progressBarFill {
  from {
    transform: scaleX(0); /* Start empty */
  }
  to {
    transform: scaleX(1); /* Fill completely */
  }
}

.blog-feature_slider-paginator.is-active .progress-bar {
  animation: progressBarFill 5s linear forwards; /* 5s matches autoplay delay */
}
.blog-feature_slider-paginator::before {
opacity: 0;
}

  .filter-radio:not(:has(.w--redirected-checked)) {
  opacity: 0.4;
}

.filter-radio:has(.w--redirected-checked) {
  opacity: 1;
}

.collage_component .collage_card:nth-child(6n+1) {
    grid-column-end: span 7;
  }
  .collage_component .collage_card:nth-child(6n+2) {
    grid-column-start: 9;
    grid-column-end: span 4;

    .collage_card-visual-wrapper {
      transform-origin: 100% 100%;
    }
  }
  .collage_component .collage_card:nth-child(6n+2):not(:last-child):not(:nth-last-child(2)) {
    margin-bottom: -50%;
  }
  .collage_component .collage_card:nth-child(6n+3) {
    grid-column-start: 2;
    grid-column-end: span 5;
  }
  .collage_component .collage_card:nth-child(6n+4) {
    grid-column-start: 1;
    grid-column-end: span 4;
  }
  .collage_component .collage_card:nth-child(6n+4):not(:last-child):not(:nth-last-child(2)) {
    margin-bottom: -50%;
  }
  .collage_component .collage_card:nth-child(6n+5) {
    grid-column-start: 6;
    grid-column-end: span 7;

    .collage_card-visual-wrapper {
      transform-origin: 100% 100%;
    }
  }
  .collage_component .collage_card:nth-child(6n+6) {
    grid-column-start: 7;
    grid-column-end: span 6;

    .collage_card-visual-wrapper {
      transform-origin: 100% 100%;
    }
  }

  @media screen and (max-width: 991px) {

    .collage_component .collage_card:nth-child(6n+1) {
      grid-column-end: span 7;
    }
    .collage_component .collage_card:nth-child(6n+2) {
      grid-column-start: 5;
      grid-column-end: span 4;
    }
    .collage_component .collage_card:nth-child(6n+2):not(:last-child):not(:nth-last-child(2)) {
      margin-bottom: 0%;
    }
    .collage_component .collage_card:nth-child(6n+3) {
      grid-column-start: 1;
      grid-column-end: span 5;
    }
    .collage_component .collage_card:nth-child(6n+4) {
      grid-column-start: 3;
      grid-column-end: span 6;
    }
    .collage_component .collage_card:nth-child(6n+4):not(:last-child):not(:nth-last-child(2)) {
      margin-bottom: 0%;
    }
    .collage_component .collage_card:nth-child(6n+5) {
      grid-column-start: 2;
      grid-column-end: span 5;
    }
    .collage_component .collage_card:nth-child(6n+6) {
      grid-column-start: 3;
      grid-column-end: span 6;
    }

  }

  /** Mobile landscape */
  @media screen and (max-width: 767px) {

    .collage_component .collage_card:nth-child(6n+1) {
      grid-column-end: span 4;
    }
    .collage_component .collage_card:nth-child(6n+2) {
      grid-column-start: 2;
      grid-column-end: span 3;
    }
    .collage_component .collage_card:nth-child(6n+3) {
      grid-column-start: 1;
      grid-column-end: span 3;
    }
    .collage_component .collage_card:nth-child(6n+4) {
      grid-column-start: 1;
      grid-column-end: span 4;
    }
    .collage_component .collage_card:nth-child(6n+5) {
      grid-column-start: 1;
      grid-column-end: span 3;

    }
    .collage_component .collage_card:nth-child(6n+6) {
      grid-column-start: 2;
      grid-column-end: span 3;

    }
  }
  
  .collage_card iframe {
  	pointer-events: none; /* Fix vimeo video overlaying top left part of the page making it unclickable */
  }

.scrub-intro_paragraph-wrapper:not(:first-child, :last-child) {
    position: fixed;
    width: 100%;
    max-width: var(--container--large);
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
    padding: 0 var(--page-padding);
  }
  
  .scrub-intro_paragraph {
  	display: inline;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: currentColor;
    background-image: linear-gradient(90deg, #fff 90%, transparent);
    background-size: 0% 100%;
    background-repeat: no-repeat;
    color: rgba(255, 255, 255, 0.3);
  }

  .scrub-intro_paragraph strong {
    color: var(--text-color--text-accent);
    font-weight: inherit;
  }

.work-swiper-wrapper.w-richtext figure.w-richtext-align-fullwidth > div, .work-swiper-wrapper.w-richtext figure.w-richtext-align-fullwidth img {
  	height: 100%;
  }
  
  .work-swiper-wrapper figure div {
  	width: 100%;
    aspect-ratio: 16/9;
  }
  
  .work-swiper-wrapper figure {
  	max-width: none !important;
  }
  
  .work-swiper-wrapper.w-richtext .w-iframe iframe {
  	position: absolute;
  }
  
  .work_slider-paginator .progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--spacing--0-25);
  background: #101830; /* Full black background for progress bar */
  transform: scaleX(0); /* Start from 0% width */
  transform-origin: left; /* Animate from left to right */
  transition: transform 0.1s linear; /* Smooth updates for progress changes */
}
  
@keyframes progressBarFill {
  from {
    transform: scaleX(0); /* Start empty */
  }
  to {
    transform: scaleX(1); /* Fill completely */
  }
}

.work_slider-paginator.is-active .progress-bar {
  animation: progressBarFill 5s linear forwards; /* 5s matches autoplay delay */
}
.work_slider-paginator::before {
opacity: 0;
}


.project-stat_wrapper .text-rich-text strong {
	font-family: var(--_text-base---heading);
	font-size: clamp(var(--_text-base---size--7xl), 40cqw, var(--_text-base---size--8xl));
  text-transform: uppercase;
  line-height: 1.15;
  margin-top: -0.2em;
  width: 100%;
  display: block;
}

.work-swiper-wrapper.w-richtext figure.w-richtext-align-fullwidth > div, .work-swiper-wrapper.w-richtext figure.w-richtext-align-fullwidth img {
  	height: 100%;
  }
  
  .work-swiper-wrapper.w-richtext .w-iframe iframe {
  	position: absolute;
  }
  
  .work_slider-paginator .progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--spacing--0-25);
  background: #101830; /* Full black background for progress bar */
  transform: scaleX(0); /* Start from 0% width */
  transform-origin: left; /* Animate from left to right */
  transition: transform 0.1s linear; /* Smooth updates for progress changes */
}
  
@keyframes progressBarFill {
  from {
    transform: scaleX(0); /* Start empty */
  }
  to {
    transform: scaleX(1); /* Fill completely */
  }
}


.work_slider-paginator.is-active .progress-bar {
  animation: progressBarFill 5s linear forwards; /* 5s matches autoplay delay */
}
.work_slider-paginator::before {
opacity: 0;
}
