@import url("/vendor/webflow.shared.css");
@import url("/vendor/webflow.page.css");

.anti-flicker,
.anti-flicker * {
  visibility: hidden !important;
  opacity: 0 !important;
}

[data-wf-hidden-variation],
[data-wf-hidden-variation] * {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}
[id] {
  scroll-margin-top: var(--nav--height-total);
}

:root {
  --nav--menu-open-duration: 400ms;
  --nav--menu-close-duration: 400ms;
  --nav--dropdown-open-duration: 400ms;
  --nav--dropdown-close-duration: 400ms;
}
body:has(.nav_component .w-nav-button.w--open):not(
  :has(.nav_desktop_wrap:not(.w-condition-invisible))
) {
  overflow: hidden;
}
/* on smaller screens */
@media (width < 65em) {
  /* disable scroll when mobile menu is open */
  body:has(.nav_component .w-nav-button.w--open) {
    overflow: hidden;
  }

  /* Custom mobile nav styles */
  .nav_desktop_layout {
    display: flex;
    justify-content: space-between;
  }
  .nav_links_wrap {
    display: none;
  }
}
/* on larger screens */
@container (min-width: 65em) {
  /* show desktop nav & dropdown backdrop */
  .nav_desktop_wrap,
  .nav_dropdown_backdrop {
    display: block;
  }
  /* hide mobile nav & mobile menu backdrop */
  .nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_mobile_wrap,
  .nav_desktop_wrap:not(.w-condition-invisible) ~ .nav_menu_backdrop {
    display: none;
  }
}
/* dropdown list: initial state */
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list {
  /* removes display none to enable css transitions */
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  /* sets list to 0 height by default */
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--nav--dropdown-close-duration);
  /* makes list content not focusable when closed */
  visibility: hidden;
  opacity: 0;
}
/* makes list content focusable when opened */
html:not(.wf-design-mode) .nav_dropdown_component > .w-dropdown-list.w--open {
  visibility: visible;
  opacity: 1;
}
/* sets list child to overflow hidden to enable css height transition */
.nav_dropdown_component > .w-dropdown-list > * {
  overflow: hidden;
}
/* set open state of dropdown list */
.nav_dropdown_component:has(> .w-dropdown-toggle[aria-expanded="true"])
> .w-dropdown-list {
  --nav--dropdown-close-duration: var(--nav--dropdown-open-duration);
  grid-template-rows: 1fr;
}
/* on desktop, delay dropdown opening if another dropdown is open */
.nav_desktop_wrap:has(
    .nav_dropdown_component > .w-dropdown-toggle.w--open[aria-expanded="false"]
  )
  .nav_dropdown_component:has(> .w--open[aria-expanded="true"])
  > .w-dropdown-list {
  transition-delay: var(--nav--dropdown-close-duration);
}
/* reveal dropdown backdrop when dropdown open */
.nav_dropdown_backdrop {
  transition: opacity var(--nav--dropdown-close-duration);
}
.nav_component:has(.nav_dropdown_component > [aria-expanded="true"])
  .nav_dropdown_backdrop {
  opacity: 1;
}
/* reveal mobile menu backdrop on menu open */
.nav_menu_backdrop {
  transition: opacity var(--nav--menu-close-duration);
}
.nav_component:has(.w-nav-button.w--open) .nav_menu_backdrop {
  opacity: 1;
}
/* menu animations */
@keyframes menuOpen {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
@keyframes menuClose {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
}
/* menu open */
.nav_component:has(.w-nav-button.w--open) .w-nav-menu {
  animation: menuOpen var(--nav--menu-open-duration) ease-in-out forwards;
}
/* menu close */
.nav_component:has(.w-nav-button:not(.w--open)) .w-nav-menu {
  animation: menuClose var(--nav--menu-close-duration) ease-in-out forwards;
}
/* position overflow to top of screen */
.nav_component .w-nav-overlay {
  top: 0;
  min-height: 100vh;
}
/* open dropdown on mobile */
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-toggle {
  display: none;
}
.nav_mobile_wrap [data-open-on-mobile] > .w-dropdown-list {
  visibility: visible !important;
  opacity: 1 !important;
  display: block !important;
  grid-template-rows: 1fr !important;
}
/* nav banner */
html:has(.nav_banner_wrap:not(.w-condition-invisible)):not(.hide-nav-banner) {
  --nav--height-total: calc(
    var(--nav--banner-height) +
    var(--nav--height) +
    var(--nav--spacing-outer-vertical)
  );
}
.hide-nav-banner .nav_banner_wrap {
  display: none;
}
.wf-design-mode .nav_mobile_menu_wrap {
  width: 100%;
}

.nav_component {
  background: transparent;
  color: #fff;
  transition:
    300ms color ease,
    300ms background ease;
  border-color: transparent;
}
.is-nav {
  --_theme---button-tertiary--text: #fff;
  --_theme---button-tertiary--text-hover: #fff;
}
.nav_component.scrolled {
  background: var(--_theme---nav--background);
  color: var(--_theme---nav--foreground);
  border-color: var(--_theme---border);
  .is-nav {
    --_theme---button-tertiary--text: var(--_theme---nav--foreground);
    --_theme---button-tertiary--text-hover: var(--_theme---nav--foreground);
  }
}

::before,
::after {
  box-sizing: border-box;
}
.w-embed:before,
.w-embed:after,
.w-richtext:before,
.w-richtext:after {
  content: unset;
}
html {
  background-color: var(--_theme---background);
}
button {
  background-color: unset;
  padding: unset;
  text-align: inherit;
}
button:not(:disabled) {
  cursor: pointer;
}
video {
  width: 100%;
  object-fit: cover;
}
svg {
  max-width: 100%;
}
@media (prefers-color-scheme: light) {
  option {
    color: black;
  }
}
img::selection {
  background: transparent;
}
/* Typography */
body {
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
}
/* Clear Defaults */
a:not([class]) {
  text-decoration: underline;
}
p,
blockquote,
label {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  text-wrap: inherit;
  margin-top: 0;
  margin-bottom: 0;
}
select:has(option[value=""]:checked) {
  color: color-mix(in lab, currentcolor 60%, transparent);
}
/* Selection Color */
::selection {
  background-color: var(--_theme---selection--background);
  color: var(--_theme---selection--text);
}
/* Margin Trim */
:is(
  .u-margin-trim,
  .w-richtext,
  .u-content-wrapper,
  [class*="u-container"],
  [class*="u-layout-column"]
)
> :not(
  :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim)
    ~ :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim)
),
:is(
    .u-margin-trim,
    .w-richtext,
    .u-content-wrapper,
    [class*="u-container"],
    [class*="u-layout-column"]
  )
  > :not(
    :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim)
      ~ :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim)
  ).u-display-contents
  > :first-child {
  margin-top: 0;
}
:is(
    .u-margin-trim,
    .w-richtext,
    .u-content-wrapper,
    [class*="u-container"],
    [class*="u-layout-column"]
  )
  > :not(
    :has(~ :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim))
  ),
:is(
    .u-margin-trim,
    .w-richtext,
    .u-content-wrapper,
    [class*="u-container"],
    [class*="u-layout-column"]
  )
  > :not(
    :has(~ :not(.w-condition-invisible, .u-cover-absolute, .u-ignore-trim))
  ).u-display-contents
  > :last-child {
  margin-bottom: 0;
}
/* Line Height Trim */
:not(.u-text-trim-off)
> :is(h1, h2, h3, h4, h5, h6, p):not(
  .u-text-trim-off,
  :has([class*="u-text-style-"])
)::before,
[class*="u-text-style-"]:not(
  .u-text-trim-off,
  :has(h1, h2, h3, h4, h5, h6, p)
)::before {
  content: "";
  display: table;
  margin-bottom: calc(-0.5lh + var(--_text-style---trim-top));
}
:not(.u-text-trim-off)
  > :is(h1, h2, h3, h4, h5, h6, p):not(
    .u-text-trim-off,
    :has([class*="u-text-style-"])
  )::after,
[class*="u-text-style-"]:not(
  .u-text-trim-off,
  :has(h1, h2, h3, h4, h5, h6, p)
)::after {
  content: "";
  display: table;
  margin-bottom: calc(-0.5lh + var(--_text-style---trim-bottom));
}
/* Rich Text Links */
.w-richtext a {
  position: relative;
  z-index: 4;
}
/* Line Clamp */
[class*="u-line-clamp"]:not(.w-richtext),
[class*="u-line-clamp"].w-richtext > * {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
[class*="u-line-clamp"].w-richtext > :not(:first-child) {
  display: none;
}
.u-line-clamp-2:not(.w-richtext),
.u-line-clamp-2.w-richtext > * {
  -webkit-line-clamp: 2;
}
.u-line-clamp-3:not(.w-richtext),
.u-line-clamp-3.w-richtext > * {
  -webkit-line-clamp: 3;
}
.u-line-clamp-4:not(.w-richtext),
.u-line-clamp-4.w-richtext > * {
  -webkit-line-clamp: 4;
}
/* Text Max Width */
.u-heading > *,
.u-text > * {
  width: 100%;
  max-width: inherit !important;
  margin-inline: 0 !important;
  margin-top: 0 !important;
}
/* Background Slot Children */
.u-background-slot > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
}
/* Alignment */
.u-alignment-inherit > * {
  text-align: inherit;
  justify-content: inherit;
  align-items: inherit;
}
/* Hide */
.u-hide-if-empty:empty,
.u-hide-if-empty:has(> *):not(:has(> :not(.w-condition-invisible))),
.u-hide-if-empty-cms:not(:has(.w-dyn-item)) {
  display: none !important;
}
/* Focus State */
a,
button,
:where([tabindex]),
input,
select,
textarea {
  outline-offset: var(--focus--offset-outer);
}
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline-color: var(--_theme---text);
  outline-width: var(--focus--width);
  outline-style: solid;
}
/* Disabled */
[data-button]:has(button:disabled) {
  opacity: 0.5;
  pointer-events: none;
}
/* Section */
.u-section:has(> .u-section-spacer) {
  padding-top: 0;
  padding-bottom: 0;
}
/* Icon */
.u-icon svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
.u-icon path[stroke] {
  stroke: currentColor !important;
  stroke-width: var(--border-width--main);
  vector-effect: non-scaling-stroke;
}
.u-icon :is(path:not([stroke]), rect, circle, ellipse, polygon, polyline) {
  fill: currentColor !important;
}
/* Global / Clickable Component */
.wf-design-mode .clickable_wrap {
  z-index: 0;
}
/* Number Attributes */
[data-number="-1"] {
  --number: initial;
}
[data-number="0"] {
  --number: 0;
}
[data-number="1"] {
  --number: 1;
}
[data-number="2"] {
  --number: 2;
}
[data-number="3"] {
  --number: 3;
}
[data-number="4"] {
  --number: 4;
}
[data-number="5"] {
  --number: 5;
}
[data-number="6"] {
  --number: 6;
}
[data-number="7"] {
  --number: 7;
}
[data-number="8"] {
  --number: 8;
}
[data-number="9"] {
  --number: 9;
}
[data-number="10"] {
  --number: 10;
}
[data-number="11"] {
  --number: 11;
}
[data-number="12"] {
  --number: 12;
}
[data-number="13"] {
  --number: 13;
}
[data-number="14"] {
  --number: 14;
}
[data-number="15"] {
  --number: 15;
}
[data-number="16"] {
  --number: 16;
}
[data-number="17"] {
  --number: 17;
}
[data-number="18"] {
  --number: 18;
}
[data-number="19"] {
  --number: 19;
}
[data-number="20"] {
  --number: 20;
}
[data-number="21"] {
  --number: 21;
}
[data-number="22"] {
  --number: 22;
}
[data-number="23"] {
  --number: 23;
}
[data-number="24"] {
  --number: 24;
}
[data-number="25"] {
  --number: 25;
}
[data-number="26"] {
  --number: 26;
}
[data-number="27"] {
  --number: 27;
}
[data-number="28"] {
  --number: 28;
}
[data-number="29"] {
  --number: 29;
}
[data-number="30"] {
  --number: 30;
}
[data-number="31"] {
  --number: 31;
}
[data-number="32"] {
  --number: 32;
}
[data-number="33"] {
  --number: 33;
}
[data-number="34"] {
  --number: 34;
}
[data-number="35"] {
  --number: 35;
}
[data-number="36"] {
  --number: 36;
}
[data-number="37"] {
  --number: 37;
}
[data-number="38"] {
  --number: 38;
}
[data-number="39"] {
  --number: 39;
}
[data-number="40"] {
  --number: 40;
}
[data-number="41"] {
  --number: 41;
}
[data-number="42"] {
  --number: 42;
}
[data-number="43"] {
  --number: 43;
}
[data-number="44"] {
  --number: 44;
}
[data-number="45"] {
  --number: 45;
}
[data-number="46"] {
  --number: 46;
}
[data-number="47"] {
  --number: 47;
}
[data-number="48"] {
  --number: 48;
}
[data-number="49"] {
  --number: 49;
}
[data-number="50"] {
  --number: 50;
}
[data-number="51"] {
  --number: 51;
}
[data-number="52"] {
  --number: 52;
}
[data-number="53"] {
  --number: 53;
}
[data-number="54"] {
  --number: 54;
}
[data-number="55"] {
  --number: 55;
}
[data-number="56"] {
  --number: 56;
}
[data-number="57"] {
  --number: 57;
}
[data-number="58"] {
  --number: 58;
}
[data-number="59"] {
  --number: 59;
}
[data-number="60"] {
  --number: 60;
}
[data-number="61"] {
  --number: 61;
}
[data-number="62"] {
  --number: 62;
}
[data-number="63"] {
  --number: 63;
}
[data-number="64"] {
  --number: 64;
}
[data-number="65"] {
  --number: 65;
}
[data-number="66"] {
  --number: 66;
}
[data-number="67"] {
  --number: 67;
}
[data-number="68"] {
  --number: 68;
}
[data-number="69"] {
  --number: 69;
}
[data-number="70"] {
  --number: 70;
}
[data-number="71"] {
  --number: 71;
}
[data-number="72"] {
  --number: 72;
}
[data-number="73"] {
  --number: 73;
}
[data-number="74"] {
  --number: 74;
}
[data-number="75"] {
  --number: 75;
}
[data-number="76"] {
  --number: 76;
}
[data-number="77"] {
  --number: 77;
}
[data-number="78"] {
  --number: 78;
}
[data-number="79"] {
  --number: 79;
}
[data-number="80"] {
  --number: 80;
}
[data-number="81"] {
  --number: 81;
}
[data-number="82"] {
  --number: 82;
}
[data-number="83"] {
  --number: 83;
}
[data-number="84"] {
  --number: 84;
}
[data-number="85"] {
  --number: 85;
}
[data-number="86"] {
  --number: 86;
}
[data-number="87"] {
  --number: 87;
}
[data-number="88"] {
  --number: 88;
}
[data-number="89"] {
  --number: 89;
}
[data-number="90"] {
  --number: 90;
}
[data-number="91"] {
  --number: 91;
}
[data-number="92"] {
  --number: 92;
}
[data-number="93"] {
  --number: 93;
}
[data-number="94"] {
  --number: 94;
}
[data-number="95"] {
  --number: 95;
}
[data-number="96"] {
  --number: 96;
}
[data-number="97"] {
  --number: 97;
}
[data-number="98"] {
  --number: 98;
}
[data-number="99"] {
  --number: 99;
}
[data-number="100"] {
  --number: 100;
}
/* State Manager */
[data-state] {
  --_state---true: 1;
  --_state---false: 0;
}
.is-active,
.wf-design-mode [data-preview="True"],
.wf-design-mode [data-preview]:not(:has(> [data-w-instance-of])),
[data-state~="checked"]:is(:checked, :has(:checked)),
[data-state~="current"]:is(.w--current, :has(.w--current)),
[data-state~="open"]:is(.w--open, :has(.w--open)),
[data-state~="pressed"]:is([aria-pressed="true"], :has([aria-pressed="true"])),
[data-state~="expanded"]:is(
  [aria-expanded="true"],
  :has([aria-expanded="true"])
),
[data-state~="external"]:is([target="_blank"], :has([target="_blank"])) {
  --_state---true: 0;
  --_state---false: 1;
}
.wf-design-mode [data-trigger~="preview"],
[data-trigger~="focus"]:is(:focus-visible, :has(:focus-visible)),
[data-trigger~="group"]:has(
    [data-trigger~="focus-other"]:focus-visible,
    [data-trigger~="focus-other"] :focus-visible
  )
  [data-trigger~="focus-other"]:not(:focus-visible, :has(:focus-visible)) {
  --_trigger---on: 0;
  --_trigger---off: 1;
}
@media (hover: hover) {
  [data-trigger~="hover"]:hover,
  [data-trigger~="hover-if-clickable"]:has(
    .clickable_wrap:not(.w-condition-invisible)
  ):hover,
  [data-trigger~="group"]:has([data-trigger~="hover-other"]:hover)
    [data-trigger~="hover-other"]:not(:hover) {
    --_trigger---on: 0;
    --_trigger---off: 1;
  }
  [data-trigger~="hover-other"]:hover {
    --_trigger---on: 1 !important;
    --_trigger---off: 0 !important;
  }
}
@media (hover: none) {
  [data-trigger~="mobile"] {
    --_trigger---on: 0;
    --_trigger---off: 1;
  }
}
/* Slot Styler */
[data-slot] > .w-dyn-list,
[data-slot] > .w-dyn-list > *,
[data-slot] > .w-dyn-list > * > *,
[data-slot] > .u-display-contents > .w-dyn-list,
[data-slot] > .u-display-contents > .w-dyn-list > *,
[data-slot] > .u-display-contents > .w-dyn-list > * > *,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list > *,
[data-slot] > .u-display-contents > .u-display-contents > .w-dyn-list > * > * {
  display: contents;
}
/* Layout Slot */
.u-layout-column-2:has(
  > :not(.u-image-wrapper, .u-video, .u-iframe-wapper, .u-overlay)
) {
  aspect-ratio: auto;
  border-radius: 0;
  overflow: visible;
}
/* Responsive Styles */
[data-large-columns="1"] {
  display: flex;
}
[data-large-columns="2"] {
  display: grid;
  --_column-count---value: 2;
}
[data-large-columns="3"] {
  display: grid;
  --_column-count---value: 3;
}
[data-large-columns="4"] {
  display: grid;
  --_column-count---value: 4;
}
[data-large-columns="5"] {
  display: grid;
  --_column-count---value: 5;
}
[data-large-columns="6"] {
  display: grid;
  --_column-count---value: 6;
}
[data-large-columns="7"] {
  display: grid;
  --_column-count---value: 7;
}
[data-large-columns="8"] {
  display: grid;
  --_column-count---value: 8;
}
[data-large-columns="9"] {
  display: grid;
  --_column-count---value: 9;
}
[data-large-columns="10"] {
  display: grid;
  --_column-count---value: 10;
}
[data-large-columns="11"] {
  display: grid;
  --_column-count---value: 11;
}
[data-large-columns="12"] {
  display: grid;
  --_column-count---value: 12;
}
.slider_offset {
  --slide-count: var(--lg);
  --lg: 3;
  --md: var(--lg);
  --sm: var(--md);
  --xs: var(--sm);
}
@container (width < 53em) {
  * {
    --_responsive---large: 0;
    --_responsive---medium: 1;
    --flex-medium: flex;
    --none-medium: none;
    --column-medium: column;
    --row-medium: row;
    --start-medium: start;
    --center-medium: center;
    --end-medium: end;
    --first-medium: -1;
    --last-medium: 1;
    --unset-medium: unset;
    --relative-medium: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="1"] {
    display: flex;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="2"] {
    display: grid;
    --_column-count---value: 2;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="3"] {
    display: grid;
    --_column-count---value: 3;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="4"] {
    display: grid;
    --_column-count---value: 4;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="5"] {
    display: grid;
    --_column-count---value: 5;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="6"] {
    display: grid;
    --_column-count---value: 6;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="7"] {
    display: grid;
    --_column-count---value: 7;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="8"] {
    display: grid;
    --_column-count---value: 8;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="9"] {
    display: grid;
    --_column-count---value: 9;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="10"] {
    display: grid;
    --_column-count---value: 10;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="11"] {
    display: grid;
    --_column-count---value: 11;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-medium-columns="12"] {
    display: grid;
    --_column-count---value: 12;
  }
  .slider_offset {
    --slide-count: var(--md);
  }
}
@container (width < 42em) {
  * {
    --_responsive---medium: 0;
    --_responsive---small: 1;
    --flex-small: flex;
    --none-small: none;
    --column-small: column;
    --row-small: row;
    --start-small: start;
    --center-small: center;
    --end-small: end;
    --first-small: -1;
    --last-small: 1;
    --unset-small: unset;
    --relative-small: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="1"] {
    display: flex;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="2"] {
    display: grid;
    --_column-count---value: 2;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="3"] {
    display: grid;
    --_column-count---value: 3;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="4"] {
    display: grid;
    --_column-count---value: 4;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="5"] {
    display: grid;
    --_column-count---value: 5;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="6"] {
    display: grid;
    --_column-count---value: 6;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="7"] {
    display: grid;
    --_column-count---value: 7;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="8"] {
    display: grid;
    --_column-count---value: 8;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="9"] {
    display: grid;
    --_column-count---value: 9;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="10"] {
    display: grid;
    --_column-count---value: 10;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="11"] {
    display: grid;
    --_column-count---value: 11;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-small-columns="12"] {
    display: grid;
    --_column-count---value: 12;
  }
  .slider_offset {
    --slide-count: var(--sm);
  }
}
@container (width < 27em) {
  * {
    --_responsive---small: 0;
    --_responsive---xsmall: 1;
    --flex-xsmall: flex;
    --none-xsmall: none;
    --column-xsmall: column;
    --row-xsmall: row;
    --start-xsmall: start;
    --center-xsmall: center;
    --end-xsmall: end;
    --first-xsmall: -1;
    --last-xsmall: 1;
    --unset-xsmall: unset;
    --relative-xsmall: relative;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="1"] {
    display: flex;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="2"] {
    display: grid;
    --_column-count---value: 2;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="3"] {
    display: grid;
    --_column-count---value: 3;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="4"] {
    display: grid;
    --_column-count---value: 4;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="5"] {
    display: grid;
    --_column-count---value: 5;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="6"] {
    display: grid;
    --_column-count---value: 6;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="7"] {
    display: grid;
    --_column-count---value: 7;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="8"] {
    display: grid;
    --_column-count---value: 8;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="9"] {
    display: grid;
    --_column-count---value: 9;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="10"] {
    display: grid;
    --_column-count---value: 10;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="11"] {
    display: grid;
    --_column-count---value: 11;
  }
  :not([data-wf--grid--variant*="auto"]) > [data-xsmall-columns="12"] {
    display: grid;
    --_column-count---value: 12;
  }
  .slider_offset {
    --slide-count: var(--xs);
  }
}

@container (width < 53em) {
  * {
    --none-medium: none;
    --static-medium: static;
    --border-medium: var(--border-width--main) solid var(--_theme---border);
  }
}
/* Page grid needs 3em extra site margin */
@container (width < 45em) {
  .page_grid_line {
    display: none;
  }
  * {
    --nav--spacing-inner-horizontal: 0;
  }
}

@container (width < 42em) {
  * {
    --none-small: none;
    --static-small: static;
    --padding-inset: 0;
    --start-small: start;
    --border-small: var(--border-width--main) solid var(--_theme---border);
  }
  .u-border-small {
    border-left: var(--border-small);
    border-right: var(--border-small);
  }
}
/* border and grid styles */
.u-gap-1px {
  gap: 1px;
}
.u-borders {
  border-top: var(--border-width--main) solid var(--_theme---border);
  border-bottom: var(--border-width--main) solid var(--_theme---border);
}
.u-border-top {
  border-top: var(--border-width--main) solid var(--_theme---border);
}
.u-border-bottom {
  border-bottom: var(--border-width--main) solid var(--_theme---border);
}
:root {
  --padding-inset: calc(
    2.5rem *
    max(var(--_responsive---large), var(--_responsive---medium))
  );
}

.u-inset {
  padding-inline: var(--padding-inset);
}

/* give bolds default color */
strong {
  color: var(--_theme---text);
  font-weight: 500;
}

/* List styles */
.u-rich-text:not(.comparison_richtext) ul {
  list-style: none;
  padding-left: 1rem;
}

.u-rich-text:not(.comparison_richtext) li {
  position: relative;
  list-style: none;
}

.u-rich-text:not(.comparison_richtext) li::before {
  content: "";
  position: absolute;
  left: -1rem;
  top: 0.5em;
  width: 0.375rem; /* 6px */
  height: 0.375rem; /* 6px */
  background: currentColor;
}

/* Comparison section */
.comparison_item_content {
  display: flex;
  flex-direction: column;
  padding-block: clamp(2rem, 4vw, 3rem);
}

.comparison_item_content .u-heading {
  margin: 0 0 1.5rem;
  min-height: 2lh;
}

.comparison_richtext ul {
  display: grid;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.comparison_richtext li {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}

.comparison_richtext .comparison_list_icon {
  width: 1.5rem;
  height: 1.5rem;
  margin-top: max(0px, calc((1lh - 1.5rem) / 2));
}

/* Image parallax */
[data-animate="parallax"] {
  overflow: clip;
}
[data-animate="parallax"] > img {
  animation: parallax auto ease-in-out;
  animation-timeline: view();
  animation-range: cover 0% cover 100%;
  height: 120%;
  top: 0;
  position: relative;
}

@keyframes parallax {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(-16%);
  }
}
/* Small buttons */

.is-small .button_main_element {
  padding: 0.5625rem 0.75rem;
}

/* Hero animation */
[data-animate="hero"] {
  --hero-duration: 1.6s;
  --hero-stagger: 0.3s;
  --hero-ease: linear(
    0,
    0.034,
    0.092,
    0.152,
    0.209,
    0.262,
    0.311,
    0.358,
    0.401,
    0.441,
    0.479,
    0.514,
    0.546,
    0.577,
    0.605,
    0.632,
    0.657,
    0.68,
    0.701,
    0.721,
    0.74,
    0.757,
    0.774,
    0.789,
    0.803,
    0.816,
    0.829,
    0.84,
    0.851,
    0.861,
    0.87,
    0.879,
    0.887,
    0.895,
    0.902,
    0.908,
    0.915,
    0.92,
    0.926,
    0.931,
    0.935,
    0.94,
    0.944,
    0.948,
    0.951,
    0.954,
    0.957,
    0.96,
    0.963,
    0.965,
    0.968,
    0.97,
    0.972,
    0.974,
    0.976,
    0.977,
    0.979,
    0.98,
    0.982,
    0.983,
    0.984,
    0.985,
    0.986,
    0.987,
    0.988,
    0.989,
    0.989,
    0.99,
    0.991,
    0.991,
    0.992,
    0.993,
    0.993,
    0.993,
    0.994,
    0.994,
    0.995,
    0.995,
    0.995,
    0.996,
    0.996,
    0.996,
    0.997,
    0.997,
    0.997,
    0.997,
    0.997,
    0.998,
    1
  );
}

[data-animate="hero"] .u-heading,
[data-animate="hero"] .u-text,
[data-animate="hero"] .u-button-wrapper {
  opacity: 0;
  filter: blur(10px);
  transform: translateY(20%);

  animation: hero-reveal var(--hero-duration) var(--hero-ease) forwards;
  animation-delay: calc(var(--hero-index) * var(--hero-stagger));
}

[data-animate="hero"] .u-heading {
  --hero-index: 0;
}

[data-animate="hero"] .u-text {
  --hero-index: 1;
}

[data-animate="hero"] .u-button-wrapper {
  --hero-index: 2;
}

@keyframes hero-reveal {
  from {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(20%);
  }

  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

@container (width >= 53em) {
  .product_divider {
    width: 100%;
    height: var(--border-width--main);
    padding: 0;
    background-color: var(--_theme---border);
  }

  .product_layout {
    align-items: start;
  }

  /* sticky anchor nav */
  .product_nav_wrap {
    align-self: start;
    padding-top: 2.5rem;
    height: calc(100svh - var(--nav--height-total));
  }
  .product_nav {
    display: flex;
    flex-direction: column;
    gap: var(--_spacing---space--3);
  }
  .product_tab_wrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
  }
  .product_tab_number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 1.5rem;
    flex-shrink: 0;
    background-color: color-mix(
      in hsl,
      color-mix(
          in hsl,
          transparent calc(100% * var(--_state---true)),
          var(--_theme---text) calc(100% * var(--_state---false))
        )
        calc(100% * var(--_state---false)),
      color-mix(
          in hsl,
          var(--swatch--transparent) calc(100% * var(--_trigger---on)),
          var(--swatch--neutral-1000-13) calc(100% * var(--_trigger---off))
        )
        calc(100% * var(--_state---true))
    );
    color: color-mix(
      in hsl,
      var(--_theme---text) calc(100% * var(--_state---true)),
      var(--_theme---background) calc(100% * var(--_state---false))
    );
    transition:
      background-color 300ms,
      color 300ms;
  }
  .product_tab_label {
    text-transform: uppercase;
  }

  /* scrolling text steps */
  .product_steps {
    display: flex;
    flex-direction: column;
  }
  .product_step {
    display: flex;
    flex-direction: column;
    min-height: calc(100svh - var(--nav--height-total));
    padding-block: 2.5rem;
  }
  .product_step_content {
    width: 100%;
    scroll-margin-top: calc(var(--nav--height-total) + 2.5rem);
  }
  .product_step_title {
    margin-bottom: var(--_spacing---space--4);
    /*max-width: 18ch;*/
  }
  .product_step_text {
    color: color-mix(in hsl, currentColor 65%, transparent);
    /*max-width: 40ch;*/
  }
  .product_step_list {
    display: flex;
    flex-direction: column;
    gap: var(--_spacing---space--2);
  }
  .product_item {
    display: flex;
    align-items: center;
    gap: var(--_spacing---space--3);
  }
  .product_item_dot {
    width: 0.375rem;
    height: 0.375rem;
    flex-shrink: 0;
    padding: 0;
    background-color: color-mix(in hsl, currentColor 65%, transparent);
  }
  .product_item_text {
    color: color-mix(in hsl, currentColor 65%, transparent);
  }

  /* sticky transitioning visual */
  .product_visual {
    align-self: start;
    height: calc(100svh - var(--nav--height-total));
    border-left-width: var(--border-width--main);
    border-left-style: solid;
    border-left-color: var(--_theme---border);
    overflow: clip;
  }
  .product_visual_item {
    inset: 0;
    opacity: var(--_state---false);
    transition: opacity 600ms;
  }
  .product_visual_img {
    height: 100%;
  }
  .product_eyebrow {
    display: none;
  }
}

/* collapse on narrow screens: stack, drop nav, visual sticky on top */
@container (width < 53em) {
  .product_layout {
    display: flex;
    flex-direction: column;
    row-gap: 2.5rem;
  }
  .product_nav_wrap {
    display: none;
  }
  .product_visual {
    display: contents;
  }
  .product_steps {
    display: contents;
  }
  .product_step {
    padding-block: 0;
  }
  .product_visual_item,
  .product_step_content {
    padding-inline: var(--padding-inset);
  }
  .product_step:not(:first-of-type) {
    padding-top: 2.5rem;
  }
  .product_layout > * > :nth-child(1) {
    order: 1;
  }

  .product_layout > * > :nth-child(4) {
    order: 2;
  }

  .product_layout > * > :nth-child(2) {
    order: 3;
    border-top: var(--border-width--main) solid var(--_theme---border);
  }

  .product_layout > * > :nth-child(5) {
    order: 4;
  }

  .product_layout > * > :nth-child(3) {
    order: 5;
    border-top: var(--border-width--main) solid var(--_theme---border);
  }

  .product_layout > * > :nth-child(6) {
    order: 6;
  }
  .product_visual_item {
    padding-top: 0;
  }
}

.footer_bottom_link_wrap {
  background: linear-gradient(currentcolor, currentcolor) 0 100% no-repeat;
  background-size: var(--underline-background-size);
  transition: background 0.3s ease;
  background-position: 0.5rem 100%;
  --underline-background-size: calc((100% - 1rem) * var(--_trigger---off))
    var(--border-width--main);
}

/* Scroll-driven navbar: stone-100 + iOS glass, zero JS */
@supports (animation-timeline: scroll()) {
  .nav_component {
    animation: nav-glass linear both;
    animation-timeline: scroll(root);
    animation-range: 0 80px;
  }
  /* Link ink lives on .is-nav itself, so its vars must flip here —
       animating them on the parent never reaches the buttons. */
  .nav_component .is-nav {
    animation: nav-ink linear both;
    animation-timeline: scroll(root);
    animation-range: 0 80px;
  }
  /* Belt and braces: drive the label color itself (concrete property,
       beats any specificity or !important underneath). */
  .nav_component .is-nav .button_main_text {
    animation: nav-link-ink linear both;
    animation-timeline: scroll(root);
    animation-range: 0 80px;
  }
  @keyframes nav-link-ink {
    from {
      color: #fff;
    }
    to {
      color: #f5f5f4 !important;
    }
  }
  @keyframes nav-ink {
    from {
      --_theme---button-tertiary--text: #fff;
      --_theme---button-tertiary--text-hover: #fff;
    }
    to {
      --_theme---button-tertiary--text: #f5f5f4;
      --_theme---button-tertiary--text-hover: #f5f5f4;
    }
  }
  @keyframes nav-glass {
    from {
      background: transparent;
      color: #fff;
      border-color: transparent;
      backdrop-filter: blur(0px);
      -webkit-backdrop-filter: blur(0px);
    }
    to {
      background: #1c1917;
      color: #f5f5f4;
      border-color: rgb(255 255 255 / 0.08);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      --_theme---button-tertiary--text: #f5f5f4;
      --_theme---button-tertiary--text-hover: #f5f5f4;
    }
  }
}

/* Product tabs are plain anchors now */
a.product_tab_wrap {
  text-decoration: none;
  color: inherit;
}

/* Hover: violet-600 wash, no added border — resting borders untouched */
@media (hover: hover) {
  .button_main_wrap:hover .button_main_element {
    background-color: #7c3aed;
    border-color: transparent;
  }
  .button_main_wrap:hover .button_main_text,
  .button_main_wrap:hover .button_main_icon {
    color: #f5f5f4;
  }
  .button_main_wrap:hover .button_main_text {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
  .product_tab_wrap:hover .product_tab_number {
    background-color: #78716c;
  }
  .list_block:hover {
    background-color: color-mix(in srgb, #78716c 8%, transparent);
  }
}

/* ── Global button rounding (rounded-md → rounded-lg = 0.5rem) ─────── */
.button_main_wrap {
  border-radius: 0.5rem;
}
.button_main_wrap .button_main_element {
  border-radius: 0.5rem;
}
.button_main_wrap:where(.w-variant-625d5df4-ad91-f7dc-9e2f-2e69f3fd7400) {
  border-radius: 0.5rem;
}

/* Navbar: smaller link text + tighter vertical padding */
.nav_component .button_main_wrap.is-nav .button_main_text {
  font-size: 0.75rem;
  letter-spacing: 0.01em;
}
.nav_component .button_main_wrap.is-nav .button_main_element {
  padding: 0.3rem 0.55rem;
}

/* "See how it works" (manifesto): underline-only, no bg, no bounce, bigger */
.theme-dark-zone .manifesto .button_main_wrap {
  background: transparent;
  transform: none;
}
.theme-dark-zone .manifesto .button_main_wrap .button_main_element {
  background: transparent;
  border: 0;
  padding: 0;
  transform: none;
}
.theme-dark-zone .manifesto .button_main_wrap .button_main_text {
  font-size: 1.1rem;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1.5px;
  color: #f5f5f4;
  transition: color 0.2s ease;
}
.theme-dark-zone .manifesto .button_main_wrap:hover .button_main_text {
  color: #fafaf9;
}

/* Navbar primary button (Get Started): stone-100 by default, dark label.
     Same treatment as the hero button. */
.nav_component .button_main_wrap:not(.is-nav) .button_main_element {
  background-color: #f5f5f4;
  border-color: transparent;
}
.nav_component .button_main_wrap:not(.is-nav) .button_main_text,
.nav_component .button_main_wrap:not(.is-nav) .button_main_icon {
  color: #1c1917;
}
.nav_component .button_main_wrap:not(.is-nav):hover .button_main_element {
  background-color: #f5f5f4;
  border-color: transparent;
}

/* Hero: dark midnight gradient + stone-100 button.
     Lifted above the fixed page-grid overlay so its vertical lines
     never cross the hero. Nav (z-1000) is unaffected. */
section.section_home_hero {
  background-image: linear-gradient(180deg, #0c0a09, #1c1917 55%, #292524);
  z-index: 3;
}
/* Give the 72px headline room to sit on two balanced lines */
.section_home_hero .home-hero_content {
  max-width: 56rem;
}
/* Webflow pins .u-text to min-width:100% (beats max-width) — release it
     so the description measure stays narrower than the headline */
.section_home_hero .u-text {
  min-width: 0;
}
.section_home_hero .home-hero_fade {
  background-image: linear-gradient(180deg, #1c191700, #1c1917 97%);
}
.section_home_hero .button_main_wrap .button_main_element {
  background-color: #f5f5f4;
  border-color: transparent;
  padding: 0.7rem 2rem;
}
.section_home_hero .button_main_wrap .button_main_text,
.section_home_hero .button_main_wrap .button_main_icon {
  color: #1c1917;
}

/* Clickable nav + tabs always show the pointer */
.nav_component a,
.nav_component .button_main_wrap,
a.product_tab_wrap {
  cursor: pointer;
}

/* Dark zone: everything below hero/navbar — stone system, same vars Webflow uses */
.theme-dark-zone {
  background-color: #1c1917;
  color: #f5f5f4;
  --_theme---background: #1c1917;
  --_theme---text: #f5f5f4;
  --_theme---background-2: #1c1917;
  --_theme---subdued: #d6d3d1;
  --_theme---border: #292524;
  --_theme---heading-accent: #fafaf9;
  --_theme---button-primary--text: #f5f5f4;
  --_theme---button-primary--text-hover: #f5f5f4;
  --_theme---button-primary--background: #292524;
  --_theme---button-primary--background-hover: #5507b5;
  --_theme---button-primary--border: #292524;
  --_theme---button-primary--border-hover: transparent;
  --_theme---button-secondary--text: #f5f5f4;
  --_theme---button-secondary--text-hover: #f5f5f4;
  --_theme---button-secondary--background: #292524;
  --_theme---button-secondary--background-hover: #5507b5;
  --_theme---button-secondary--border: #292524;
  --_theme---button-secondary--border-hover: transparent;
  --_theme---button-tertiary--text: #f5f5f4;
  --_theme---button-tertiary--text-hover: #f5f5f4;
  --_theme---button-tertiary--background: #292524;
  --_theme---button-tertiary--background-hover: #5507b5;
  --_theme---button-tertiary--border: #292524;
  --_theme---button-tertiary--border-hover: transparent;
}
.theme-dark-zone h1,
.theme-dark-zone h2,
.theme-dark-zone h3 {
  color: #fafaf9;
}
.theme-dark-zone .button_main_wrap:hover .button_main_element {
  background-color: #5507b5;
  border-color: transparent;
}
.theme-dark-zone .manifesto .button_main_wrap:hover .button_main_element {
  background-color: transparent;
  border-color: transparent;
  transform: none;
}
.theme-dark-zone .manifesto .button_main_wrap:hover .button_main_text,
.theme-dark-zone .manifesto .button_main_wrap:hover .button_main_icon {
  color: #fafaf9;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
/* CTA band: the photo bleeds edge-to-edge with no letterboxing.
     The slot is the section's own absolute cover — full width and height,
     no viewport-width negative-margin hack. No CSS gradient behind the
     photo; the image carries its own dawn sky. */
.cta-band {
  overflow: clip;
  padding-inline: 0;
  background-color: #1c1917;
}
.cta-band .u-background-slot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
.cta-band .u-background-slot .u-image-wrapper,
.cta-band .u-background-slot .u-image {
  aspect-ratio: unset !important;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center;
}
/* Feature image: darken the photo itself so overlaid text renders */
.comparison_img_wrap .comparison_img {
  filter: brightness(0.6);
}
/* CTA title bottom gap: tighter */
.cta-band .u-heading {
  margin-bottom: 1rem;
}
.cta-band .u-button-wrapper {
  margin-top: 1rem;
}
/* CTA buttons: stone-100 resting, dark label, flatter + wider */
.cta-band .button_main_wrap .button_main_element {
  background-color: #f5f5f4;
  border-color: transparent;
  padding: 0.7rem 2rem;
}
/* Get Started buttons (hero + CTA): violet hover fully removed —
     stone-100 hold with a normal underline instead */
.section_home_hero .button_main_wrap:hover .button_main_element,
.theme-dark-zone .cta-band .button_main_wrap:hover .button_main_element {
  background-color: #f5f5f4;
  border-color: transparent;
}
.section_home_hero .button_main_wrap:hover .button_main_text,
.section_home_hero .button_main_wrap:hover .button_main_icon,
.theme-dark-zone .cta-band .button_main_wrap:hover .button_main_text,
.theme-dark-zone .cta-band .button_main_wrap:hover .button_main_icon {
  color: #1c1917;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cta-band .button_main_wrap .button_main_text,
.cta-band .button_main_wrap .button_main_icon {
  color: #1c1917;
}
.theme-dark-zone .u-icon path {
  fill: #f5f5f4 !important;
}

/* Navbar links: raw text only */
.nav_component .button_main_wrap.is-nav .button_main_element {
  background-color: transparent;
  border-color: transparent;
}
.nav_component .button_main_wrap.is-nav:hover .button_main_element {
  background-color: #fafaf9;
  border-color: transparent;
  padding: 0.375rem 0.625rem;
}
.nav_component .button_main_wrap.is-nav:hover .button_main_text,
.nav_component .button_main_wrap.is-nav:hover .button_main_icon {
  color: #1c1917 !important;
}

/* ── Borderless landing: no page-chrome grid lines, rails, or section dividers.
      Vendor stylesheets are generated — overrides live here, never there. ── */
.page_grid,
.page_grid_center_line {
  display: none !important;
}
.u-borders,
.u-border-top,
.u-border-bottom {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
.u-border-small {
  border-left: 0 !important;
  border-right: 0 !important;
}
.nav_component {
  border-bottom: 0 !important;
}

/* ── Wider canvas: 90rem (1440px) → 100rem (1600px).
      Single variable drives .u-container, nav widths, and the (now hidden) grid. ── */
:root {
  --site--viewport-max: 100;
}

/* ── Clean comparison: two borderless cards, no imagery, no boxed grid.
      Copy and list layout (.comparison_richtext) are untouched. ── */
.comparison-clean {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}
@media (min-width: 900px) {
  .comparison-clean {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.comparison-clean-card {
  border-radius: 12px;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
.comparison-clean-card.is-with {
  background: #231f1e;
}
.comparison-clean-card.is-without {
  background: transparent;
}
.comparison-clean-card .u-heading {
  margin: 0 0 1.5rem;
}
.comparison-clean-card .comparison_richtext.is-check .comparison_list_icon {
  color: #22c55e;
}
