/* Styles inline de la landing Webflow, extraits par scripts/build_outils.py. Ne pas éditer à la main. */

  /* ----------------------- START SCALING FONT SYSTEM ----------------------- */
  /* ----- Desktop ----- */
  :root {
    --size-unit: 16; /* body font-size in design - no px */
    --size-container-ideal: 1440; /* screen-size in design - no px */
    --size-container-min: 1080px;
    --size-container-max: 1440px;
    --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
    --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
    --max-width: 75em;
  }
  /* ----- Tablet ----- */
  @media screen and (max-width: 991px) {
    :root {
      --size-container-ideal: 834; /* screen-size in design - no px */
      --size-container-min: 768px;
      --size-container-max: 991px;
    }
  }
  /* ----- Mobile Landscape ----- */
  @media screen and (max-width: 767px) {
    :root {
      --size-container-ideal: 550; /* screen-size in design - no px */
      --size-container-min: 480px;
      --size-container-max: 767px;
    }
  }
  /* ----- Mobile Portrait ----- */
  @media screen and (max-width: 479px) {
    :root {
      --size-container-ideal: 390; /* screen-size in design - no px */
      --size-container-min: 320px;
      --size-container-max: 479px;
    }
  }
  /* ----- Apply to body ----- */
  html, body {
    font-size: var(--size-font);
  }
  /* ----------------------- END SCALING FONT SYSTEM ----------------------- */
  /* ----------------------- START APPLICATION FONT SIZES -----------------------  */
  /* ----- Headings ----- */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    margin: 0;
  }
  h1,
  .h1 {
    font-size: var(--_responsive---font-size--h1);
    letter-spacing: var(--_typography---h1--letter-spacing);
    font-family: var(--_typography---h1--font);
    line-height: var(--_typography---h1--line-height);
    font-weight: var(--_typography---h1--font-weight);
  }
  h2,
  .h2 {
    font-size: var(--_responsive---font-size--h2);
    letter-spacing: var(--_typography---h2--letter-spacing);
    font-family: var(--_typography---h2--font);
    line-height: var(--_typography---h2--line-height);
    font-weight: var(--_typography---h2--font-weight);
  }
  h3,
  .h3 {
    font-size: var(--_responsive---font-size--h3);
    letter-spacing: var(--_typography---h3--letter-spacing);
    font-family: var(--_typography---h3--font);
    line-height: var(--_typography---h3--line-height);
    font-weight: var(--_typography---h3--font-weight);
  }
  h4,
  .h4 {
    font-size: var(--_responsive---font-size--h4);
    letter-spacing: var(--_typography---h4--letter-spacing);
    font-family: var(--_typography---h4--font);
    line-height: var(--_typography---h4--line-height);
    font-weight: var(--_typography---h4--font-weight);
  }
  h5,
  .h5 {
    font-size: var(--_responsive---font-size--h5);
    letter-spacing: var(--_typography---h5--letter-spacing);
    font-family: var(--_typography---h5--font);
    line-height: var(--_typography---h5--line-height);
    font-weight: var(--_typography---h5--font-weight);
  }
  h6,
  .h6 {
    font-size: var(--_responsive---font-size--h6);
    letter-spacing: var(--_typography---h6--letter-spacing);
    font-family: var(--_typography---h6--font);
    line-height: var(--_typography---h6--line-height);
    font-weight: var(--_typography---h6--font-weight);
  }
  /* ----- Font family ----- */
  .u-font-primary{
    font-family: var(--_typography---font--primary);
  }
  .u-font-secondary{
    font-family: var(--_typography---font--secondary);
  }
  /* ----- Body font sizes ----- */
  @media (max-width: 767px) {
    .text-xxl.sm-xl {
      font-size: var(--_responsive---font-size--text-xl) !important;
    }
    .text-xxl.sm-l,
    .text-xl.sm-l {
      font-size: var(--_responsive---font-size--text-l) !important;
    }
    .text-xxl.sm-m,
    .text-xl.sm-m,
    .text-l.sm-m {
      font-size: var(--_responsive---font-size--text-m) !important;
    }
    .text-xxl.sm-s,
    .text-xl.sm-s,
    .text-l.sm-s,
    .text-m.sm-s {
      font-size: var(--_responsive---font-size--text-s) !important;
    }
    .text-xxl.sm-xs,
    .text-xl.sm-xs,
    .text-l.sm-xs,
    .text-m.sm-xs,
    .text-s.sm-xs {
      font-size: var(--_responsive---font-size--text-xs) !important;
    }
    .text-xxl.sm-mini,
    .text-xl.sm-mini,
    .text-l.sm-mini,
    .text-m.sm-mini,
    .text-s.sm-mini,
    .text-xs.sm-mini,
    .text-xxs.sm-mini {
      font-size: 0.625em !important;
    }
  }
  /* ----------------------- END APPLICATION FONT SIZES -----------------------  */


  /* ----------------------- START GRID ----------------------- */
  :root {
    --site--max-width: min(var(--_layout---site--width), 100vw);
    --site--gutter-total: calc(var(--_layout---site--gutter) * (var(--_layout---site--column-count) - 1));
    --column-width--1: calc((var(--site--max-width) - var(--site--gutter-total)) / var(--_layout---site--column-count));
    --column-width--plus-gutter: calc(var(--column-width--1) + var(--_layout---site--gutter));
    --column-width--2: calc(var(--column-width--plus-gutter) * 2 - var(--_layout---site--gutter));
    --column-width--3: calc(var(--column-width--plus-gutter) * 3 - var(--_layout---site--gutter));
    --column-width--4: calc(var(--column-width--plus-gutter) * 4 - var(--_layout---site--gutter));
    --column-width--5: calc(var(--column-width--plus-gutter) * 5 - var(--_layout---site--gutter));
    --column-width--6: calc(var(--column-width--plus-gutter) * 6 - var(--_layout---site--gutter));
    --column-width--7: calc(var(--column-width--plus-gutter) * 7 - var(--_layout---site--gutter));
    --column-width--8: calc(var(--column-width--plus-gutter) * 8 - var(--_layout---site--gutter));
    --column-width--9: calc(var(--column-width--plus-gutter) * 9 - var(--_layout---site--gutter));
    --column-width--10: calc(var(--column-width--plus-gutter) * 10 - var(--_layout---site--gutter));
    --column-width--11: calc(var(--column-width--plus-gutter) * 11 - var(--_layout---site--gutter));
    --column-width--12: calc(var(--column-width--plus-gutter) * 12 - var(--_layout---site--gutter));
    --column-margin--1: calc(var(--column-width--plus-gutter) * 1);
    --column-margin--2: calc(var(--column-width--plus-gutter) * 2);
    --column-margin--3: calc(var(--column-width--plus-gutter) * 3);
    --column-margin--4: calc(var(--column-width--plus-gutter) * 4);
    --column-margin--5: calc(var(--column-width--plus-gutter) * 5);
    --column-margin--6: calc(var(--column-width--plus-gutter) * 6);
    --column-margin--7: calc(var(--column-width--plus-gutter) * 7);
    --column-margin--8: calc(var(--column-width--plus-gutter) * 8);
    --column-margin--9: calc(var(--column-width--plus-gutter) * 9);
    --column-margin--10: calc(var(--column-width--plus-gutter) * 10);
    --column-margin--11: calc(var(--column-width--plus-gutter) * 11);
    --column-margin--12: calc(var(--column-width--plus-gutter) * 12);
    --grid-main: repeat(var(--_layout---site--column-count), minmax(0, 1fr));
    --grid-1: repeat(1, minmax(0, 1fr));
    --grid-2: repeat(2, minmax(0, 1fr));
    --grid-3: repeat(3, minmax(0, 1fr));
    --grid-4: repeat(4, minmax(0, 1fr));
    --grid-5: repeat(5, minmax(0, 1fr));
    --grid-6: repeat(6, minmax(0, 1fr));
    --grid-7: repeat(7, minmax(0, 1fr));
    --grid-8: repeat(8, minmax(0, 1fr));
    --grid-9: repeat(9, minmax(0, 1fr));
    --grid-10: repeat(10, minmax(0, 1fr));
    --grid-11: repeat(11, minmax(0, 1fr));
    --grid-12: repeat(12, minmax(0, 1fr));
  }
  /* ----------------------- END GRID ----------------------- */
  /* ----------------------- START FLEXBOX ----------------------- */
  .flex-col,
  .flex-row {
    &.align-start {
      align-items: flex-start;
    }
    &.align-center {
      align-items: center;
    }
    &.align-end {
      align-items: flex-end;
    }
    &.stretch {
      align-items: stretch;
    }
    &.justify-start {
      justify-content: flex-start;
    }
    &.justify-center {
      justify-content: center;
    }
    &.justify-end {
      justify-content: flex-end;
    }
    &.between {
      justify-content: space-between;
    }
    &.around {
      justify-content: space-around;
    }
    &.evenly {
      justify-content: space-evenly;
    }
    &.center {
      align-items: center;
      justify-content: center;
    }
  }
  /* ----------------------- END FLEXBOX ----------------------- */


  /* ----------------------- START FORM ----------------------- */
  /* Field: Error */
  [data-validate].is--error input,
  [data-validate].is--error textarea,
  [data-validate].is--error select {
    border-color: var(--utility--error);
  }
  [data-validate].is--error .form-field-icon.is--error,
  [data-validate].is--error .radiocheck-field-icon.is--error {
    opacity: 1;
  }
  /* Field: Success */
  [data-validate].is--success .form-field-icon.is--success,
  [data-validate].is--success .radiocheck-field-icon.is--success {
    opacity: 1;
  }
  /* Field: Custom Radio or Checkbox */
  [data-form-validate] .radiocheck-field input:focus-visible ~ .radiocheck-custom {
    background-color: var(--_theme---border);
    color: var(--_theme---text-faded);
  }
  [data-form-validate] .radiocheck-field input:focus-visible:checked ~ .radiocheck-custom,
  [data-form-validate] .radiocheck-field input:checked ~ .radiocheck-custom {
    background-color: var(--_theme---background);
    color: var(--_theme---text);
  }
  [data-form-validate] .radiocheck-field .radiocheck-label.is--small {
    margin-top: 0.125em;
  }
  [data-validate].is--error .radiocheck-custom {
    border-color: var(--utility--error);
  }
  [data-validate].is--error input:checked ~ .radiocheck-custom {
    border-color: var(--_theme---background);
  }
  /* Field: Select */
  [data-form-validate] select:has(option[value='']:checked) {
    color: var(--_theme---text-faded);
  }
  /* ----------------------- END FORM ----------------------- */


  /* ----------------------- START GENERAL PREVENT ----------------------- */
  /* ----- Custom Code ----- */
  .custom--code * {
    width: 0px;
    height: 0px;
    position: absolute;
    margin: 0px !important;
    padding: 0px !important;
    visibility: hidden;
  }
  /* ----- Change state in Designer ----- */
  .wf-design-mode {
    & .your---element{
      visibility: visible;
    }
  }
  /* ----- Prevent FOUCS ----- */
  html:not(.wf-design-mode) {
    & .your---element{
      opacity: 0;
    }
  }
  /* ----------------------- END GENERAL PREVENT ----------------------- */


  /* ----------------------- START RICH TEXT SETUP ----------------------- */
  .rich-text {
    --h1: 2.25em;
    --h2: 2em;
    --h3: 1.5em;
    --h4: 1.25em;
    --h5: 1.125em;
    --h6: 1.075em;
    --p: 1em;
    --fade-color: inherit;
  }
  /* ----- Headings ----- */
  .rich-text h1,
  .rich-text h2,
  .rich-text h3,
  .rich-text h4,
  .rich-text h5,
  .rich-text h6 {
    margin-top: 1.125em;
    margin-bottom: 0.5625em;
    text-wrap: balance;
    color: var(--_theme---text);
  }
  .rich-text h1 {
    font-size: var(--h1);
  }
    .rich-text h2 {
    font-size: var(--h2);
  }
  .rich-text h3 {
    font-size: var(--h3);
  }
  .rich-text h4 {
    font-size: var(--h4);
  }
  .rich-text h5 {
    font-size: var(--h5);
  }
  /* ----- Paragraph ----- */
  .rich-text p {
    margin-bottom: 0.9em;
    text-wrap: pretty;
    font-size: var(--p);
  }
  .rich-text strong {
    font-weight: 600;
  }
  /* ----- Links ----- */
  .rich-text a {
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    color: var(--brand--orange);
    font-style: normal;
    &::after {
      content: '';
      position: relative;
      display: inline-block;
      background-color: currentcolor;
      mask: url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7%202.59082C4.43989%203.06109%202.5%205.30394%202.5%208C2.5%2011.0376%204.96243%2013.5%208%2013.5C10.6961%2013.5%2012.9389%2011.5601%2013.4092%209H14.9287C14.4435%2012.3923%2011.5265%2015%208%2015C4.13401%2015%201%2011.866%201%208C1%204.47355%203.60773%201.55654%207%201.07129V2.59082ZM15%207H13.5V3.56055L8.53027%208.53027L7.46973%207.46973L12.4395%202.5H9V1H15V7Z%22%20fill%3D%22black%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
      -webkit-mask: url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7%202.59082C4.43989%203.06109%202.5%205.30394%202.5%208C2.5%2011.0376%204.96243%2013.5%208%2013.5C10.6961%2013.5%2012.9389%2011.5601%2013.4092%209H14.9287C14.4435%2012.3923%2011.5265%2015%208%2015C4.13401%2015%201%2011.866%201%208C1%204.47355%203.60773%201.55654%207%201.07129V2.59082ZM15%207H13.5V3.56055L8.53027%208.53027L7.46973%207.46973L12.4395%202.5H9V1H15V7Z%22%20fill%3D%22black%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      margin-left: 0.125em;
      width: 0.75em;
      height: 0.75em;
      top: 0.025em;
      right: 0em;
      opacity: 1;
      transition: all 0.3 var(--smooth-ease);
    }
  }
  /* ----- List ----- */
  .rich-text ul,
  .rich-text ol {
    overflow: hidden;
    position: relative;
    padding-top: 0.25em;
    padding-left: 1.25em;
    margin-bottom: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    & li::marker {
      color: color-mix(in srgb, currentcolor 60%, transparent);
    }
  }
  /* ----- Figure ----- */
  .rich-text figure {
    margin: 1em auto 1.25em;
    width: 100%;
    max-width: 100%;
    & img {
      width: 100%;
      max-width: 100%;
      height: auto;
      border-radius: 0.75rem;
    }
  }
  .rich-text figure > div:first-child {
    max-width: 100%;
    width: 100%;
  }
  .rich-text figcaption {
    opacity: 0.67;
    font-size: 0.75em;
    text-align: center;
    text-wrap: balance;
    margin-top: 0.5em;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
    position: relative;
  }
  /* ----- Blockquote ----- */
  .rich-text {
    & blockquote {
      font-family: Georgia, 'Times New Roman', Times, serif;
      color: var(--_theme---text-fade);
      font-size: var(--p);
      padding: 0em;
      border-left: none;
      margin-bottom: 1em;
      text-indent: -0.75em;
      &::before,
      &::after {
        content: '';
        position: relative;
        display: inline-block;
        background-color: color-mix(in srgb, currentcolor 70%, transparent);
        mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.09091%206.40912H7.27273C6.15021%206.40912%205.10645%206.74755%204.23917%207.32887C4.3404%207.32213%204.44251%207.31822%204.54545%207.31822C7.05584%207.31822%209.09091%209.35329%209.09091%2011.8637C9.09091%2014.374%207.05584%2016.4091%204.54545%2016.4091C2.03507%2016.4091%200%2014.374%200%2011.8637C0%207.84705%203.25611%204.59094%207.27273%204.59094H9.09091V6.40912ZM20%206.40912H18.1818C17.0593%206.40912%2016.0155%206.74755%2015.1483%207.32887C15.2495%207.32213%2015.3516%207.31822%2015.4545%207.31822C17.9649%207.31822%2020%209.35329%2020%2011.8637C20%2014.374%2017.9649%2016.4091%2015.4545%2016.4091C12.9442%2016.4091%2010.9091%2014.374%2010.9091%2011.8637C10.9091%207.84705%2014.1652%204.59094%2018.1818%204.59094H20V6.40912Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.09091%206.40912H7.27273C6.15021%206.40912%205.10645%206.74755%204.23917%207.32887C4.3404%207.32213%204.44251%207.31822%204.54545%207.31822C7.05584%207.31822%209.09091%209.35329%209.09091%2011.8637C9.09091%2014.374%207.05584%2016.4091%204.54545%2016.4091C2.03507%2016.4091%200%2014.374%200%2011.8637C0%207.84705%203.25611%204.59094%207.27273%204.59094H9.09091V6.40912ZM20%206.40912H18.1818C17.0593%206.40912%2016.0155%206.74755%2015.1483%207.32887C15.2495%207.32213%2015.3516%207.31822%2015.4545%207.31822C17.9649%207.31822%2020%209.35329%2020%2011.8637C20%2014.374%2017.9649%2016.4091%2015.4545%2016.4091C12.9442%2016.4091%2010.9091%2014.374%2010.9091%2011.8637C10.9091%207.84705%2014.1652%204.59094%2018.1818%204.59094H20V6.40912Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        mask-size: cover;
        -webkit-mask-size: cover;
        mask-position: center;
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        margin-left: 0em;
        margin-right: 0.25em;
        width: 0.75em;
        height: 0.75em;
        top: 0.1em;
        right: 0em;
      }
      &::after {
        margin-left: 0.25em;
        margin-right: 0em;
        mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9091%2014.5909H12.7273C13.8498%2014.5909%2014.8935%2014.2525%2015.7608%2013.6712C15.6596%2013.6779%2015.5575%2013.6819%2015.4545%2013.6819C12.9442%2013.6819%2010.9091%2011.6468%2010.9091%209.1364C10.9091%206.62603%2012.9442%204.59094%2015.4545%204.59094C17.9649%204.59094%2020%206.62603%2020%209.1364C20%2013.153%2016.7439%2016.4091%2012.7273%2016.4091L10.9091%2016.4091V14.5909ZM4.76851e-07%2014.5909H1.81818C2.94073%2014.5909%203.98446%2014.2525%204.85173%2013.6712C4.75055%2013.6779%204.64836%2013.6819%204.54545%2013.6819C2.03509%2013.6819%202.19465e-07%2011.6468%200%209.1364C-2.19463e-07%206.62603%202.03509%204.59094%204.54545%204.59094C7.05582%204.59094%209.09091%206.62603%209.09091%209.1364C9.09091%2013.153%205.83482%2016.4091%201.81818%2016.4091L6.35802e-07%2016.4091L4.76851e-07%2014.5909Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9091%2014.5909H12.7273C13.8498%2014.5909%2014.8935%2014.2525%2015.7608%2013.6712C15.6596%2013.6779%2015.5575%2013.6819%2015.4545%2013.6819C12.9442%2013.6819%2010.9091%2011.6468%2010.9091%209.1364C10.9091%206.62603%2012.9442%204.59094%2015.4545%204.59094C17.9649%204.59094%2020%206.62603%2020%209.1364C20%2013.153%2016.7439%2016.4091%2012.7273%2016.4091L10.9091%2016.4091V14.5909ZM4.76851e-07%2014.5909H1.81818C2.94073%2014.5909%203.98446%2014.2525%204.85173%2013.6712C4.75055%2013.6779%204.64836%2013.6819%204.54545%2013.6819C2.03509%2013.6819%202.19465e-07%2011.6468%200%209.1364C-2.19463e-07%206.62603%202.03509%204.59094%204.54545%204.59094C7.05582%204.59094%209.09091%206.62603%209.09091%209.1364C9.09091%2013.153%205.83482%2016.4091%201.81818%2016.4091L6.35802e-07%2016.4091L4.76851e-07%2014.5909Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
      }
    }
  }
  @media screen and (max-width: 479px) {
    .rich-text {
      & blockquote {
        text-indent: -0.5em;
        &::before,
        &::after {
          width: 0.5em;
          height: 0.5em;
          margin-bottom: 0.35em;
        }
      }
    }
  }
  /* ----- First and last child ----- */
  .rich-text > *:first-child,
  .rich-text > div:first-child h2:first-child {
    margin-top: 0em !important;
  }
  .rich-text > *:last-child  {
    margin-bottom: 0em !important;
  }
  /* ----------------------- END RICH TEXT SETUP ----------------------- */
  /* ----------------------- START RICH TEXT CONTENT ----------------------- */
  /* ----- Start Blog Template ----- */
  .rich-text.cc-blog {
    --p: clamp(16px, 1.125em, 20px);
  }
  /* ----- Table of contents ----- */
  .toc_link:hover,
  .toc_link:focus,
  .toc_link.w--current {
    color: var(--_theme---text);
  }
  .toc_link_wrap:has(.toc_link.w--current) {
    background-color: color-mix(in srgb, currentcolor 8%, transparent);
  }
  .toc_link_wrap.cc-h3:has(.toc_link.w--current) {
    background-color: transparent;
  }
  .toc_link_wrap.is-h3:last-child {
    margin-bottom: 0.2em;
  }
  .toc_link.w--current {
    transform: translateX(0.2em);
    transition: transform 0.3s var(--smooth-ease);
  }
  .blog_toc_wrap::-webkit-scrollbar {
    width: 0.3rem !important;
    display: block !important;
  }
  .blog_toc_wrap::-webkit-scrollbar-track {
    background: color-mix(in srgb, currentcolor 4%, transparent) !important;
    border-radius: 1em !important;
  }
  .blog_toc_wrap::-webkit-scrollbar-thumb {
    background: currentcolor !important;
    border-radius: 1em !important;
  }
  /* ----------------------- END RICH TEXT CONTENT ----------------------- */


  /* ----------------------- START MARGIN ----------------------- */
  /* ----- Margin setup ----- */
  .mt {
    margin-right: 0em !important;
    margin-bottom: 0em !important;
    margin-left: 0em !important;
  }
  .mb {
    margin-top: 0em !important;
    margin-right: 0em !important;
    margin-left: 0em !important;
  }
  /* ----- Margin values ----- */
  .m-2 {
    margin: var(--_layout---spacing--2);
  }
  .m-4 {
    margin: var(--_layout---spacing--4);
  }
  .m-8 {
    margin: var(--_layout---spacing--8);
  }
  .m-12 {
    margin: var(--_layout---spacing--12);
  }
  .m-16 {
    margin: var(--_layout---spacing--16);
  }
  .m-20 {
    margin: var(--_layout---spacing--20);
  }
  .m-24 {
    margin: var(--_layout---spacing--24);
  }
  .m-32 {
    margin: var(--_layout---spacing--32);
  }
  .m-40 {
    margin: var(--_layout---spacing--40);
  }
  .m-48 {
    margin: var(--_layout---spacing--48);
  }
  .m-64 {
    margin: var(--_layout---spacing--64);
  }
  .m-80 {
    margin: var(--_layout---spacing--80);
  }
  .m-96 {
    margin: var(--_layout---spacing--96);
  }
  /* ----------------------- END MARGIN ----------------------- */
  /* ----------------------- START MAIN CONTAINER ----------------------- */
  /* ----- Default----- */
  .main-container {
    width: 100%;
    max-width: calc(var(--max-width) + (var(--_responsive---padding--padding-horizontal) * 2)) !important;
    padding-left: var(--_responsive---padding--padding-horizontal);
    padding-right: var(--_responsive---padding--padding-horizontal);
  }
  /* ----- Padding Vertical----- */
  .main-container[data-pb='0'] {
    padding-bottom: var(--_responsive---padding--section-0) !important;
  }
  .main-container[data-pt='0'] {
    padding-top: var(--_responsive---padding--section-0) !important;
  }
  .main-container[data-pb='s'] {
    padding-bottom: var(--_responsive---padding--section-s) !important;
  }
  .main-container[data-pt='s'] {
    padding-top: var(--_responsive---padding--section-s) !important;
  }
  .main-container[data-pb='m'] {
    padding-bottom: var(--_responsive---padding--section-m) !important;
  }
  .main-container[data-pt='m'] {
    padding-top: var(--_responsive---padding--section-m) !important;
  }
  .main-container {
    padding-bottom: var(--_responsive---padding--section);
    padding-top: var(--_responsive---padding--section);
  }
  .main-container[data-pb='xl'] {
    padding-bottom: var(--_responsive---padding--section-xl);
  }
  .main-container[data-pt='xl'] {
    padding-top: var(--_responsive---padding--section-xl);
  }
  .main-container[data-pb='xxl'] {
    padding-bottom: var(--_responsive---padding--section-xxl);
  }
  .main-container[data-pt='xxl'] {
    padding-top: var(--_responsive---padding--section-xxl);
  }
  /* ----- Padding Horizontal----- */
  .main-container[data-ph='0'] {
    padding-left: 0em !important;
    padding-right: 0em !important;
    max-width: var(--max-width) !important;
  }
  .main-container[data-ph='s'] {
    max-width: calc(var(--max-width) + var(--_responsive---padding--padding-horizontal)) !important;
    padding-left: calc(var(--_responsive---padding--padding-horizontal) / 2) !important;
    padding-right: calc(var(--_responsive---padding--padding-horizontal) / 2) !important;
  }
  /* ----- Max Width ----- */
  .main-container[data-max='none'] {
    max-width: 100vw !important;
  }
  .main-container[data-max='xl'] {
    max-width: 90em !important;
  }
  .main-container[data-max='s'] {
    max-width: 61.25em !important;
  }
  /* ----------------------- END MAIN CONTAINER ----------------------- */
  /* ----------------------- START GAP ----------------------- */
  /* ----- Gap values ----- */
  .gap-2 {
    gap: var(--_layout---spacing--2);
  }
  .gap-4 {
    gap: var(--_layout---spacing--4);
  }
  .gap-8 {
    gap: var(--_layout---spacing--8);
  }
  .gap-12 {
    gap: var(--_layout---spacing--12);
  }
  .gap-16 {
    gap: var(--_layout---spacing--16);
  }
  .gap-20 {
    gap: var(--_layout---spacing--20);
  }
  .gap-24 {
    gap: var(--_layout---spacing--24);
  }
  .gap-32 {
    gap: var(--_layout---spacing--32);
  }
  .gap-40 {
    gap: var(--_layout---spacing--40);
  }
  .gap-48 {
    gap: var(--_layout---spacing--48);
  }
  .gap-64 {
    gap: var(--_layout---spacing--64);
  }
  .gap-80 {
    gap: var(--_layout---spacing--80);
  }
  .gap-96 {
    gap: var(--_layout---spacing--96);
  }
  /* ----------------------- END GAP ----------------------- */


  /* ----------------------- BODY ----------------------- */
  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  *,
  *:after,
  *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  html {
    scroll-behavior: none;
    background-color: var(--_theme---background);
    min-height: 100vh;
  }
  html,
  body {
    -webkit-font-smoothing: antialiased;
  }
  body {
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  svg {
    max-width: none;
    height: auto;
    box-sizing: border-box;
    vertical-align: middle;
  }
  html,
  body {
    width: 100%;
    height: auto !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* ----------------------- LENIS ----------------------- */
  html.lenis {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
  /* ----------------------- SELECTION ----------------------- */
  ::selection {
    background-color: var(--brand--blue);
    color: var(--neutral--white);
    text-shadow: none;
  }
  ::-moz-selection {
    background-color: var(--brand--blue);
    color: var(--neutral--white);
    text-shadow: none;
  }
  /* ----------------------- SCROLLBAR ----------------------- */
  body ::-webkit-scrollbar {
    display: none;
  }
  body {
    -ms-overflow-style: none;
  }
  html {
    scrollbar-width: none;
  }
  /* ----------------------- GENERAL ----------------------- */
  *[tabindex]:focus-visible,
  input[type='file']:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
  }
  .w-tabs::before,
  .w-tabs::after {
    display: none;
  }
  .w-dropdown {
    z-index: 1;
  }
  a,
  button {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  /* ----------------------- HIDE ----------------------- */
  .hide {
    display: none !important;
  }
  @media screen and (min-width: 992px) {
    .hide-dd {
      display: none !important;
    }
  }
  @media screen and (max-width: 991px) {
    .hide-td {
      display: none !important;
    }
    .td-block {
      display: block !important;
    }
  }
  @media screen and (max-width: 767px) {
    .hide-ld {
      display: none !important;
    }
    .ld-block {
      display: block !important;
    }
  }
  @media screen and (max-width: 479px) {
    .hide-md {
      display: none !important;
    }
    .md-block {
      display: block !important;
    }
  }
  /* ----------------------- TEXT CLAMP ----------------------- */
  .u-text-clamp-1 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  /* ----------------------- Utility ----------------------- */
  .text-center {
    text-align: center;
  }
  .m-center {
    margin: 0 auto;
  }


  /* ----------------------- START VARIABLES ----------------------- */
  :root {
    --smooth-ease: cubic-bezier(0.32, 0.72, 0, 1);
    --ease-scale: cubic-bezier(0.34, 1.35, 0.64, 1);
    --opacity-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --duration-xs: 0.2s;
    --duration-s: 0.45s;
    --duration-m: 0.6s;
    --duration-l: 0.8s;
    --duration-xl: 2s;
    --animation: var(--duration-s) var(--smooth-ease);
    --transition: all var(--duration-l) var(--smooth-ease);
    --bg-glass-blue: linear-gradient(0deg, rgba(50, 75, 216, 0.03) 0%, rgba(50, 75, 216, 0.03) 100%), rgba(255, 255, 255, 0.03);
    --bg-card: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 0.03);
    --sh-glass: 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
    --sh-glass-blue: 0 0 44px 0 rgba(50, 75, 216, 0.06) inset, 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
    --sh-btn: 0 8px 20px 0 rgba(255, 255, 255, 0.12), 0 2px 10px 0 rgba(255, 255, 255, 0.12);
    --sh-glass-blue-bgblur: 0 0 44px 0 rgba(50, 75, 216, 0.06) inset, 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
  }
  /* ----------------------- END VARIABLES ----------------------- */
  /* ----------------------- START ATTRIBUTES ----------------------- */
  /* ----- Border ----- */
  [data-bt] {
    border-top: 1px solid var(--_theme---border);
  }
  [data-bb] {
    border-bottom: 1px solid var(--_theme---border);
  }
  [data-bl] {
    border-left: 1px solid var(--_theme---border);
  }
  [data-br] {
    border-right: 1px solid var(--_theme---border);
  }
  [data-bx] {
    border-right: 1px solid var(--_theme---border);
    border-left: 1px solid var(--_theme---border);
  }
  [data-by] {
    border-top: 1px solid var(--_theme---border);
    border-bottom: 1px solid var(--border-color);
  }
  [data-b] {
    border: 1px solid var(--_theme---border);
  }
  /* ----------------------- END ATTRIBUTES ----------------------- */
  /* ----------------------- START GENERAL ----------------------- */
  /* ----- Hero Apparition ----- */
  [data-appear]{
    opacity: 0;
    transform: translateY(1.5rem) scale(0.94);
    filter: blur(0.25rem);
    will-change: opacity, transform, filter;
    animation: appear var(--duration-s) var(--smooth-ease) forwards;
    animation-delay: calc(var(--index) * 0.1s);
  }
  @keyframes appear {
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
      filter: blur(0);
    }
  }
  /* ----------------------- END GENERAL ----------------------- */
  /* -------------------------- START ANIMATIONS -------------------------- */
  /* ----- Text Split ----- */
  .single-line {
    will-change: transform;
  }
  /* ----- Dropdown ----- */
  .dropdown-icon {
    transition: transform var(--animation);
  }
  [data-state='open'] .dropdown-icon {
    transform: rotate(135deg);
  }
  .dropdown-item{
    transition: outline-color 0.3s var(--smooth-ease);
    outline-offset: -1px;
    outline: 1px solid var(--alpha--white-12);
    &::after{
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: var(--alpha--white-4);
      box-shadow: var(--sh-glass);
      transform: scale(0.9);
      opacity: 0;
      transition: transform 0.3s var(--smooth-ease), opacity 0.3s var(--smooth-ease);
      will-change: transform, opacity;
    }
    &[data-state='open'] {
      outline-color: var(--alpha--white-4);
      &::after {
        transform: scale(1);
        opacity: 1;
      }
    }
  }
  /* Language */
  .langue_dropdown {
    transition: background-color 0.3s var(--smooth-ease), border-color 0.3s var(--smooth-ease);
    background-color: transparent;
    border: 1px solid transparent;
    & .langue_dropdown_icon {
      transition: transform 0.3s var(--smooth-ease);
    }
    &[data-state='open'] {
      background-color: var(--alpha--white-4);
      border: 1px solid var(--alpha--white-8);
      & .langue_dropdown_icon {
        transform: rotateX(180deg);
      }
    }
  }
  /* -------------------------- END ANIMATIONS -------------------------- */
  /* ----------------------- START BUTTONS ----------------------- */
  /* ----- Button Animation ----- */
  .btn_wrap {
    & .btn_arrow {
      &:nth-child(1) {
        transform: translate(0%, 0%);
      }
      &:nth-child(2) {
        transform: translate(-100%, 100%);
      }
    }
    & .btn_bg {
      transition: all var(--duration-s) var(--smooth-ease);
    }
    &:active {
      & .btn_bg {
        scale: 0.95;
      }
    }
  }
  @media screen and (min-width: 998px) {
    .btn_wrap {
      & .btn_arrow {
        transition: transform var(--duration-s) var(--smooth-ease);
        will-change: transform;
      }
      & .btn_text_span {
        transition: transform var(--duration-s) var(--smooth-ease);
        will-change: transform;
      }
      &:hover {
        & .btn_arrow {
          &:nth-child(1) {
            transform: translate(100%, -100%);
          }
          &:nth-child(2) {
            transform: translate(0%, 0%);
          }
        }
        & .btn_bg {
          inset: 0.125em;
        }
        & .btn_text_span {
          transform: translateY(-100%);
        }
      }
    }
  }
  /* ----- Button Style ----- */
  .btn_wrap {
    --btn-text-color: var(--neutral--dark);
    --btn-bg-color: var(--neutral--white);
    --btn-outline-color: var(--alpha--white-8);
    --btn-text-size: 1em;
    --btn-shadow: var(--sh-btn);
    --btn-radius: 0.875em;
    color: var(--btn-text-color);
    & .btn_bg {
      background: var(--btn-bg-color);
      outline: 1px solid var(--btn-outline-color);
      outline-offset: -1px;
      border-radius: inherit;
      box-shadow: var(--btn-shadow);
    }
    & .btn_text {
      font-size: var(--btn-text-size);
    }
    &[data-wf--interactive-button--settings-variant='main'] {
      padding: 0.625em 1.125em;
      height: 2.75em;
      border-radius: var(--btn-radius);
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='link'] {
      gap: 0.25em;
      --btn-text-color: var(--neutral--white);
      --btn-bg-color: none;
      --btn-outline-color: none;
      --btn-shadow: none;
      --btn-padding: 0.5em 0.5em 0.5em 1em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='outline'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: transparent;
      --btn-shadow: none;
      border-radius: 0.75em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='telegram'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: transparent;
      --btn-shadow: none;
      border-radius: 1em;
      &:has(.btn_icon) {
        padding: 0.5em 0.875em 0.5em 0.5em;
      }
    }
    &[data-wf--interactive-button--settings-variant='glass'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: var(--bg-glass-blue);
      --btn-shadow: var(--sh-glass-blue);
      border-radius: 0.75em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='small'] {
      padding: 0.375em 0.75em;
      --btn-radius: 99em;
      --btn-text-color: var(--neutral--white);
      --btn-bg-color: var(--neutral--eerie);
      --btn-outline-color: color-mix(in srgb, currentColor 8%, transparent);
      --btn-text-size: 0.875em;
    }
  }
  @media screen and (max-width: 991px) {
    .btn_wrap {
      &[data-wf--interactive-button--settings-variant='small'] {
        min-height: 2.375em;
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
  }
  /* ----------------------- END BUTTONS ----------------------- */
  /* ----------------------- START NAVBAR STYLE ----------------------- */
  /* ----- Navbar Scroll ----- */
  body[data-scrolling-started='true'][data-nav-status='closed'] .header {
    padding: 1em;
    will-change: padding;
  }
  @media screen and (max-width: 767px) {
    body[data-scrolling-started='true'][data-nav-status='closed'] .header {
      padding: 0.75em;
    }
  }
  .header_bg {
    transition: transform var(--duration-s) var(--smooth-ease);
    transform-origin: center top;
    transform: scaleY(0) translateY(-30%);
    will-change: transform;
    & > div {
      position: absolute;
      inset: 0;
      &:nth-child(1) {
        z-index: 2;
        -webkit-backdrop-filter: blur(1px);
        backdrop-filter: blur(1px);
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 12.5%, rgb(255, 255, 255) 37.5%, rgba(255, 255, 255, 0) 50%);
      }
      &:nth-child(2) {
        z-index: 3;
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 12.5%, rgb(255, 255, 255) 37.5%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 62.5%);
      }
      &:nth-child(3) {
        z-index: 4;
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 37.5%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 62.5%, rgba(255, 255, 255, 0) 75%);
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px);
      }
      &:nth-child(4) {
        z-index: 5;
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 62.5%, rgb(255, 255, 255) 75%, rgba(255, 255, 255, 0) 87.5%);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
      }
    }
  }
  body[data-scrolling-started='true'] .header_bg {
    transform: scaleY(1) translateY(-30%);
  }
  /* ----- Navbar Hover ----- */
  @media (hover: hover) and (pointer: fine) {
    .footer-link,
    [data-text-link] {
      &::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 1px;
        bottom: 0px;
        left: 0px;
        transform-origin: center right;
        transition: transform var(--animation);
        background: currentColor;
        transform: scale(0, 1);
      }
      &:hover {
        &::after {
          transform: scale(1, 1);
          transform-origin: center left;
        }
      }
    }
    .navlink {
      &::after {
        content: '';
        position: absolute;
        inset: 0%;
        border-radius: inherit;
        background: color-mix(in srgb, currentColor 8%, transparent);
        box-shadow: var(--sh-glass);
        transition: transform var(--duration-s) var(--smooth-ease), opacity var(--duration-s) var(--smooth-ease);
        transform: scale(0.9);
        opacity: 0;
        will-change: transform, opacity;
        isolation: isolate;
      }
      & .navlink_text {
        transition: transform var(--duration-s) var(--smooth-ease);
        --text-distance: 1.2em;
        text-shadow: 0px var(--text-distance) currentColor;
      }
      &:hover {
        & .navlink_text {
          transform: translate(0px, calc(-1 * var(--text-distance)));
        }
        &::after {
          transform: scale(1);
          opacity: 1;
        }
      }
    }
  }
  /* ----- Navbar Theme ----- */
  /* Setup */
  .header {
    --nav-text-color: inherit;
    --nav-text-menu: inherit;
    --nav-bg-menu: var(--bg-card);
    --nav-shadow-menu: inherit;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Apply colors */
  .header {
    & .navlink {
      transition: color var(--animation);
      color: var(--nav-text-color);
    }
    & .menu-button {
      transition: all var(--animation);
      will-change: transform;
      outline: 1px solid var(--nav-outline-menu);
      outline-offset: -1px;
      color: var(--nav-text-menu);
      background-color: var(--nav-bg-menu);
      box-shadow: var(--nav-shadow-menu);
      outline-color: var(--nav-outline-menu);
    }
  }
  /* Base Theme */
  [data-theme-nav='base'] .header {
    --nav-text-color: var(--neutral--white);
    --nav-text-menu: var(--neutral--white);
    --nav-bg-menu: var(--neutral--eerie);
    --nav-shadow-menu: none;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Invert Theme */
  [data-theme-nav='invert'] .header {
    --nav-text-color: var(--neutral--dark);
    --nav-text-menu: var(--neutral--dark);
    --nav-bg-menu: var(--neutral--white);
    --nav-shadow-menu: none;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Mobile Theme Override */
  @media screen and (max-width: 991px) {
    [data-theme-nav='base'] .header,
    [data-theme-nav='invert'] .header,
    .header {
      --nav-text-color: var(--neutral--dark);
    }
  }
  /* ----- Menu Mobile ----- */
  @media screen and (max-width: 991px) {
    .header {
      --menu-speed: 0.75s;
      --stagger-fast: 0.01s;
      --stagger-default: 0.04s;
      --reveal-delay: 0.25s;
      --menu-open-text-color: var(--neutral--white);
      --menu-open-bg-color: var(--neutral--dark);
      --menu-open-shadow: none;
      --menu-open-outline-color: color-mix(in srgb, currentColor 8%, transparent);
    }
    /* Initial State */
    .nav_menu_outer {
      visibility: hidden;
    }
    .menu_bg {
      transition: opacity var(--animation);
    }
    .nav_menu_container {
      transition: transform var(--menu-speed) var(--smooth-ease);
      transform: translateY(calc(-100% - 2em));
    }
    [data-nav-button] {
      transition: transform var(--animation), opacity var(--animation);
      will-change: transform, opacity;
      transform: translateY(0em);
      opacity: 1;
    }
    [data-menu-reveal] {
      transition: transform var(--animation), opacity var(--animation);
      will-change: transform, opacity;
      transform: translateY(-1em) scale(1) translateZ(0);
      opacity: 0;
    }
    .menu-button {
      & .menu-button-line {
        transition: transform var(--animation);
        &:first-child {
          transform: translateY(-3px) scaleY(0.8);
        }
        &:last-child {
          transform: translateY(3px) scaleY(0.8);
        }
      }
    }
    /* Open State */
    .nav_menu_outer[data-state='open']:not(.is-closing) {
      visibility: visible;
      .nav_menu_container {
        transform: translateY(0%);
      }
      .menu_bg {
        opacity: 1;
      }
      [data-menu-reveal] {
        transition: transform var(--animation), opacity var(--animation);
        transition-delay: calc((var(--index) * var(--stagger-default)) + var(--reveal-delay));
        transform: translateY(0em) scale(1) translateZ(0);
        opacity: 1;
      }
    }
    /* Closing Animations */
    [data-nav-status='open']:has(.nav_menu_outer:not(.is-closing)) {
      .menu-button {
        color: var(--menu-open-text-color);
        background-color: var(--menu-open-bg-color);
        box-shadow: var(--menu-open-shadow);
        outline-color: var(--menu-open-outline-color);
        & .menu-button-line {
          &:first-child {
            transform: translateY(0px) rotate(45deg) scaleY(0.8);
          }
          &:last-child {
            transform: translateY(0px) rotate(-45deg) scaleY(0.8);
          }
        }
      }
      [data-nav-button] {
        transition: transform var(--animation), opacity var(--animation);
        transition-delay: calc((var(--index) * var(--stagger-fast)));
        transform: translateY(-3em);
        opacity: 0;
      }
    }
    /* Close State */
    .nav_menu_outer.is-closing {
      visibility: visible;
      & .nav_menu_container {
        transform: translateY(calc(-100% - 2em));
        transition-duration: var(--duration-s);
      }
      & .menu_bg {
        opacity: 0;
      }
    }
  }
  /* ----------------------- END NAVBAR STYLE ----------------------- */
  /* ----------------------- CUSTOM ----------------------- */
  /*[data-bg='glass-blue'] {
  background: linear-gradient(0deg, color-mix(in srgb, var(--brand-blue) 3%, transparent) 0%, color-mix(in srgb, var(--brand-blue) 3%, transparent) 100%), rgba(255, 255, 255, 0.03);
}
[data-bg='card'] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.00) 100%), rgba(255, 255, 255, 0.03);
}- */
  [data-bg='glass-blue'] {
    background: var(--bg-glass-blue);
  }
  [data-bg='card'] {
    background: var(--bg-card);
  }
  /* ----- SHADOWS ----- */
  [data-shadow='glass'] {
    box-shadow: var(--sh-glass);
    background: var(--alpha--white-4);
    border: 1px solid var(--alpha--white-4);
  }
  [data-shadow='glass-blue'] {
    box-shadow: var(--sh-glass-blue);
    background: linear-gradient(0deg, rgba(50, 75, 216, 0.03) 0%, rgba(50, 75, 216, 0.03) 100%), rgba(255, 255, 255, 0.03);
    border: 1px solid var(--alpha--white-4);
  }
  [data-shadow='btn'] {
    box-shadow: var(--sh-btn);
  }
  [data-shadow='glass-blue-bgblur'] {
    box-shadow: var(--sh-glass-blue-bgblur);
  }
  /* ----------------------- Border gradient ----------------------- */
  [data-bb-gr] {
    position: relative;
  }
  [data-bb-gr]::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0) 100%);
  }
  .swiper-slide-prev > div {
    will-change: transform;
    transform: scale(0.5);
    transition: transform 0.3s var(--ease-scale), opacity 0.3s var(--ease-scale);
    transform-origin: center top;
    opacity: 0;
    backface-visibility: hidden;
  }
  .swiper-slide {
    will-change: transform;
  }
  /* ----------------------- START WALL OF LOVE ----------------------- */
  [data-wall='group'] {
    --wall-ease: cubic-bezier(0.34, 1.35, 0.64, 1);
    --wall-duration: 0.45s;
    & .wall-mask {
      transition: opacity var(--wall-duration) var(--wall-ease), transform var(--wall-duration) var(--wall-ease);
      will-change: opacity, transform;
      transform-origin: center bottom;
      opacity: 1;
    }
    & .wall-btn-wrap {
      transition: transform var(--wall-duration) var(--wall-ease), opacity var(--wall-duration) var(--wall-ease);
      will-change: transform, opacity;
      opacity: 1;
    }
    &.active {
      & .wall-mask {
        opacity: 0;
        transform: scaleY(0);
      }
      & .wall-btn-wrap {
        opacity: 0;
        transform: translateX(-50%) scale(0.9);
        pointer-events: none;
      }
    }
  }
  /* ----------------------- END WALL OF LOVE ----------------------- */
  /* ----------------------- Start Video ----------------------- */
  /* Animation */
  [data-bunny-player-init] :is(.bunny-player__placeholder, .bunny-player__dark, .bunny-player__playpause, .bunny-player__loading) {
    transition: opacity var(--duration-xs) var(--ease-scale), visibility var(--duration-xs) var(--ease-scale);
  }
  /* Placeholder */
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__placeholder,
  [data-bunny-player-init][data-player-status='paused'] .bunny-player__placeholder,
  [data-bunny-player-init][data-player-activated='true'][data-player-status='ready'] .bunny-player__placeholder {
    opacity: 0;
    visibility: hidden;
  }
  /* Dark Overlay */
  [data-bunny-player-init][data-player-status='paused'] .bunny-player__dark,
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__dark {
    opacity: 0.3;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__dark {
    opacity: 0;
  }
  /* Play/Pause */
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__playpause,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__playpause {
    opacity: 0;
  }
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__playpause {
    opacity: 1;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__play-svg,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__play-svg {
    display: none;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__pause-svg,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__pause-svg {
    display: block;
  }
  /* Loading */
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__loading {
    opacity: 1;
    visibility: visible;
  }
  /* Interface */
  .bunny-player__interface {
    transition: all var(--duration-s) var(--ease-scale);
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__interface,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__interface {
    opacity: 0;
    transform: translateY(1em) rotate(0.001deg);
  }
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__interface,
  [data-bunny-player-init][data-player-status='loading'][data-player-hover='active'] .bunny-player__interface {
    opacity: 1;
    transform: translateY(0em) rotate(0.001deg);
  }
  /* Timeline */
  [data-bunny-player-init][data-player-status='idle'][data-player-activated='false'] .bunny-player__timeline,
  [data-bunny-player-init][data-player-status='ready'][data-player-activated='false'] .bunny-player__timeline {
    pointer-events: none;
  }
  /* Timeline Handle */
  [data-bunny-player-init] .bunny-player__timeline-handle {
    transition: transform 0.15s ease-in-out;
  }
  [data-bunny-player-init][data-timeline-drag='true'] .bunny-player__timeline-handle {
    transform: translate(-50%, -50%) scale(1);
  }
  /* Fullscreen */
  [data-bunny-player-init][data-player-fullscreen='true'] .bunny-player__fullscreen-shrink-svg {
    display: block;
  }
  [data-bunny-player-init][data-player-fullscreen='true'] .bunny-player__fullscreen-scale-svg {
    display: none;
  }
  /* Mute */
  [data-bunny-player-init][data-player-muted='true'] .bunny-player__volume-mute-svg {
    display: block;
  }
  [data-bunny-player-init][data-player-muted='true'] .bunny-player__volume-up-svg {
    display: none;
  }
  /* Cover Mode */
  [data-bunny-player-init][data-player-update-size='cover'] {
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
  }
  [data-bunny-player-init][data-player-update-size='cover'] [data-player-before] {
    display: none;
  }
  [data-bunny-player-init][data-player-update-size='cover'][data-player-fullscreen='false'] .bunny-player__video {
    object-fit: cover;
  }
  /* ----------------------- END Video ----------------------- */
  /* ----------------------- START Language visibility ----------------------- */
  html[lang='fr'] {
    & [data-lang='fr'] {
      display: block;
    }
    & [data-lang='en'] {
      display: none;
    }
    & [data-lang='de'] {
      display: none;
    }
  }
  html[lang='en'] {
    & [data-lang='fr'] {
      display: none;
    }
    & [data-lang='en'] {
      display: block;
    }
    & [data-lang='de'] {
      display: none;
    }
  }
  html[lang='de'] {
    & [data-lang='fr'] {
      display: none;
    }
    & [data-lang='en'] {
      display: none;
    }
    & [data-lang='de'] {
      display: block;
    }
  }
  /* ----------------------- END Language visibility ----------------------- */


  /* ----------------------- START SCALING FONT SYSTEM ----------------------- */
  /* ----- Desktop ----- */
  :root {
    --size-unit: 16; /* body font-size in design - no px */
    --size-container-ideal: 1440; /* screen-size in design - no px */
    --size-container-min: 1080px;
    --size-container-max: 1440px;
    --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
    --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
    --max-width: 75em;
  }
  /* ----- Tablet ----- */
  @media screen and (max-width: 991px) {
    :root {
      --size-container-ideal: 834; /* screen-size in design - no px */
      --size-container-min: 768px;
      --size-container-max: 991px;
    }
  }
  /* ----- Mobile Landscape ----- */
  @media screen and (max-width: 767px) {
    :root {
      --size-container-ideal: 550; /* screen-size in design - no px */
      --size-container-min: 480px;
      --size-container-max: 767px;
    }
  }
  /* ----- Mobile Portrait ----- */
  @media screen and (max-width: 479px) {
    :root {
      --size-container-ideal: 390; /* screen-size in design - no px */
      --size-container-min: 320px;
      --size-container-max: 479px;
    }
  }
  /* ----- Apply to body ----- */
  html, body {
    font-size: var(--size-font);
  }
  /* ----------------------- END SCALING FONT SYSTEM ----------------------- */
  /* ----------------------- START APPLICATION FONT SIZES -----------------------  */
  /* ----- Headings ----- */
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p {
    margin: 0;
  }
  h1,
  .h1 {
    font-size: var(--_responsive---font-size--h1);
    letter-spacing: var(--_typography---h1--letter-spacing);
    font-family: var(--_typography---h1--font);
    line-height: var(--_typography---h1--line-height);
    font-weight: var(--_typography---h1--font-weight);
  }
  h2,
  .h2 {
    font-size: var(--_responsive---font-size--h2);
    letter-spacing: var(--_typography---h2--letter-spacing);
    font-family: var(--_typography---h2--font);
    line-height: var(--_typography---h2--line-height);
    font-weight: var(--_typography---h2--font-weight);
  }
  h3,
  .h3 {
    font-size: var(--_responsive---font-size--h3);
    letter-spacing: var(--_typography---h3--letter-spacing);
    font-family: var(--_typography---h3--font);
    line-height: var(--_typography---h3--line-height);
    font-weight: var(--_typography---h3--font-weight);
  }
  h4,
  .h4 {
    font-size: var(--_responsive---font-size--h4);
    letter-spacing: var(--_typography---h4--letter-spacing);
    font-family: var(--_typography---h4--font);
    line-height: var(--_typography---h4--line-height);
    font-weight: var(--_typography---h4--font-weight);
  }
  h5,
  .h5 {
    font-size: var(--_responsive---font-size--h5);
    letter-spacing: var(--_typography---h5--letter-spacing);
    font-family: var(--_typography---h5--font);
    line-height: var(--_typography---h5--line-height);
    font-weight: var(--_typography---h5--font-weight);
  }
  h6,
  .h6 {
    font-size: var(--_responsive---font-size--h6);
    letter-spacing: var(--_typography---h6--letter-spacing);
    font-family: var(--_typography---h6--font);
    line-height: var(--_typography---h6--line-height);
    font-weight: var(--_typography---h6--font-weight);
  }
  /* ----- Font family ----- */
  .u-font-primary{
    font-family: var(--_typography---font--primary);
  }
  .u-font-secondary{
    font-family: var(--_typography---font--secondary);
  }
  /* ----- Body font sizes ----- */
  @media (max-width: 767px) {
    .text-xxl.sm-xl {
      font-size: var(--_responsive---font-size--text-xl) !important;
    }
    .text-xxl.sm-l,
    .text-xl.sm-l {
      font-size: var(--_responsive---font-size--text-l) !important;
    }
    .text-xxl.sm-m,
    .text-xl.sm-m,
    .text-l.sm-m {
      font-size: var(--_responsive---font-size--text-m) !important;
    }
    .text-xxl.sm-s,
    .text-xl.sm-s,
    .text-l.sm-s,
    .text-m.sm-s {
      font-size: var(--_responsive---font-size--text-s) !important;
    }
    .text-xxl.sm-xs,
    .text-xl.sm-xs,
    .text-l.sm-xs,
    .text-m.sm-xs,
    .text-s.sm-xs {
      font-size: var(--_responsive---font-size--text-xs) !important;
    }
    .text-xxl.sm-mini,
    .text-xl.sm-mini,
    .text-l.sm-mini,
    .text-m.sm-mini,
    .text-s.sm-mini,
    .text-xs.sm-mini,
    .text-xxs.sm-mini {
      font-size: 0.625em !important;
    }
  }
  /* ----------------------- END APPLICATION FONT SIZES -----------------------  */


  /* ----------------------- START GRID ----------------------- */
  :root {
    --site--max-width: min(var(--_layout---site--width), 100vw);
    --site--gutter-total: calc(var(--_layout---site--gutter) * (var(--_layout---site--column-count) - 1));
    --column-width--1: calc((var(--site--max-width) - var(--site--gutter-total)) / var(--_layout---site--column-count));
    --column-width--plus-gutter: calc(var(--column-width--1) + var(--_layout---site--gutter));
    --column-width--2: calc(var(--column-width--plus-gutter) * 2 - var(--_layout---site--gutter));
    --column-width--3: calc(var(--column-width--plus-gutter) * 3 - var(--_layout---site--gutter));
    --column-width--4: calc(var(--column-width--plus-gutter) * 4 - var(--_layout---site--gutter));
    --column-width--5: calc(var(--column-width--plus-gutter) * 5 - var(--_layout---site--gutter));
    --column-width--6: calc(var(--column-width--plus-gutter) * 6 - var(--_layout---site--gutter));
    --column-width--7: calc(var(--column-width--plus-gutter) * 7 - var(--_layout---site--gutter));
    --column-width--8: calc(var(--column-width--plus-gutter) * 8 - var(--_layout---site--gutter));
    --column-width--9: calc(var(--column-width--plus-gutter) * 9 - var(--_layout---site--gutter));
    --column-width--10: calc(var(--column-width--plus-gutter) * 10 - var(--_layout---site--gutter));
    --column-width--11: calc(var(--column-width--plus-gutter) * 11 - var(--_layout---site--gutter));
    --column-width--12: calc(var(--column-width--plus-gutter) * 12 - var(--_layout---site--gutter));
    --column-margin--1: calc(var(--column-width--plus-gutter) * 1);
    --column-margin--2: calc(var(--column-width--plus-gutter) * 2);
    --column-margin--3: calc(var(--column-width--plus-gutter) * 3);
    --column-margin--4: calc(var(--column-width--plus-gutter) * 4);
    --column-margin--5: calc(var(--column-width--plus-gutter) * 5);
    --column-margin--6: calc(var(--column-width--plus-gutter) * 6);
    --column-margin--7: calc(var(--column-width--plus-gutter) * 7);
    --column-margin--8: calc(var(--column-width--plus-gutter) * 8);
    --column-margin--9: calc(var(--column-width--plus-gutter) * 9);
    --column-margin--10: calc(var(--column-width--plus-gutter) * 10);
    --column-margin--11: calc(var(--column-width--plus-gutter) * 11);
    --column-margin--12: calc(var(--column-width--plus-gutter) * 12);
    --grid-main: repeat(var(--_layout---site--column-count), minmax(0, 1fr));
    --grid-1: repeat(1, minmax(0, 1fr));
    --grid-2: repeat(2, minmax(0, 1fr));
    --grid-3: repeat(3, minmax(0, 1fr));
    --grid-4: repeat(4, minmax(0, 1fr));
    --grid-5: repeat(5, minmax(0, 1fr));
    --grid-6: repeat(6, minmax(0, 1fr));
    --grid-7: repeat(7, minmax(0, 1fr));
    --grid-8: repeat(8, minmax(0, 1fr));
    --grid-9: repeat(9, minmax(0, 1fr));
    --grid-10: repeat(10, minmax(0, 1fr));
    --grid-11: repeat(11, minmax(0, 1fr));
    --grid-12: repeat(12, minmax(0, 1fr));
  }
  /* ----------------------- END GRID ----------------------- */
  /* ----------------------- START FLEXBOX ----------------------- */
  .flex-col,
  .flex-row {
    &.align-start {
      align-items: flex-start;
    }
    &.align-center {
      align-items: center;
    }
    &.align-end {
      align-items: flex-end;
    }
    &.stretch {
      align-items: stretch;
    }
    &.justify-start {
      justify-content: flex-start;
    }
    &.justify-center {
      justify-content: center;
    }
    &.justify-end {
      justify-content: flex-end;
    }
    &.between {
      justify-content: space-between;
    }
    &.around {
      justify-content: space-around;
    }
    &.evenly {
      justify-content: space-evenly;
    }
    &.center {
      align-items: center;
      justify-content: center;
    }
  }
  /* ----------------------- END FLEXBOX ----------------------- */


  /* ----------------------- START FORM ----------------------- */
  /* Field: Error */
  [data-validate].is--error input,
  [data-validate].is--error textarea,
  [data-validate].is--error select {
    border-color: var(--utility--error);
  }
  [data-validate].is--error .form-field-icon.is--error,
  [data-validate].is--error .radiocheck-field-icon.is--error {
    opacity: 1;
  }
  /* Field: Success */
  [data-validate].is--success .form-field-icon.is--success,
  [data-validate].is--success .radiocheck-field-icon.is--success {
    opacity: 1;
  }
  /* Field: Custom Radio or Checkbox */
  [data-form-validate] .radiocheck-field input:focus-visible ~ .radiocheck-custom {
    background-color: var(--_theme---border);
    color: var(--_theme---text-faded);
  }
  [data-form-validate] .radiocheck-field input:focus-visible:checked ~ .radiocheck-custom,
  [data-form-validate] .radiocheck-field input:checked ~ .radiocheck-custom {
    background-color: var(--_theme---background);
    color: var(--_theme---text);
  }
  [data-form-validate] .radiocheck-field .radiocheck-label.is--small {
    margin-top: 0.125em;
  }
  [data-validate].is--error .radiocheck-custom {
    border-color: var(--utility--error);
  }
  [data-validate].is--error input:checked ~ .radiocheck-custom {
    border-color: var(--_theme---background);
  }
  /* Field: Select */
  [data-form-validate] select:has(option[value='']:checked) {
    color: var(--_theme---text-faded);
  }
  /* ----------------------- END FORM ----------------------- */


  /* ----------------------- START GENERAL PREVENT ----------------------- */
  /* ----- Custom Code ----- */
  .custom--code * {
    width: 0px;
    height: 0px;
    position: absolute;
    margin: 0px !important;
    padding: 0px !important;
    visibility: hidden;
  }
  /* ----- Change state in Designer ----- */
  .wf-design-mode {
    & .your---element{
      visibility: visible;
    }
  }
  /* ----- Prevent FOUCS ----- */
  html:not(.wf-design-mode) {
    & .your---element{
      opacity: 0;
    }
  }
  /* ----------------------- END GENERAL PREVENT ----------------------- */


  /* ----------------------- START RICH TEXT SETUP ----------------------- */
  .rich-text {
    --h1: 2.25em;
    --h2: 2em;
    --h3: 1.5em;
    --h4: 1.25em;
    --h5: 1.125em;
    --h6: 1.075em;
    --p: 1em;
    --fade-color: inherit;
  }
  /* ----- Headings ----- */
  .rich-text h1,
  .rich-text h2,
  .rich-text h3,
  .rich-text h4,
  .rich-text h5,
  .rich-text h6 {
    margin-top: 1.125em;
    margin-bottom: 0.5625em;
    text-wrap: balance;
    color: var(--_theme---text);
  }
  .rich-text h1 {
    font-size: var(--h1);
  }
    .rich-text h2 {
    font-size: var(--h2);
  }
  .rich-text h3 {
    font-size: var(--h3);
  }
  .rich-text h4 {
    font-size: var(--h4);
  }
  .rich-text h5 {
    font-size: var(--h5);
  }
  /* ----- Paragraph ----- */
  .rich-text p {
    margin-bottom: 0.9em;
    text-wrap: pretty;
    font-size: var(--p);
  }
  .rich-text strong {
    font-weight: 600;
  }
  /* ----- Links ----- */
  .rich-text a {
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    color: var(--brand--orange);
    font-style: normal;
    &::after {
      content: '';
      position: relative;
      display: inline-block;
      background-color: currentcolor;
      mask: url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7%202.59082C4.43989%203.06109%202.5%205.30394%202.5%208C2.5%2011.0376%204.96243%2013.5%208%2013.5C10.6961%2013.5%2012.9389%2011.5601%2013.4092%209H14.9287C14.4435%2012.3923%2011.5265%2015%208%2015C4.13401%2015%201%2011.866%201%208C1%204.47355%203.60773%201.55654%207%201.07129V2.59082ZM15%207H13.5V3.56055L8.53027%208.53027L7.46973%207.46973L12.4395%202.5H9V1H15V7Z%22%20fill%3D%22black%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
      -webkit-mask: url('data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M7%202.59082C4.43989%203.06109%202.5%205.30394%202.5%208C2.5%2011.0376%204.96243%2013.5%208%2013.5C10.6961%2013.5%2012.9389%2011.5601%2013.4092%209H14.9287C14.4435%2012.3923%2011.5265%2015%208%2015C4.13401%2015%201%2011.866%201%208C1%204.47355%203.60773%201.55654%207%201.07129V2.59082ZM15%207H13.5V3.56055L8.53027%208.53027L7.46973%207.46973L12.4395%202.5H9V1H15V7Z%22%20fill%3D%22black%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E');
      mask-size: contain;
      -webkit-mask-size: contain;
      mask-repeat: no-repeat;
      -webkit-mask-repeat: no-repeat;
      margin-left: 0.125em;
      width: 0.75em;
      height: 0.75em;
      top: 0.025em;
      right: 0em;
      opacity: 1;
      transition: all 0.3 var(--smooth-ease);
    }
  }
  /* ----- List ----- */
  .rich-text ul,
  .rich-text ol {
    overflow: hidden;
    position: relative;
    padding-top: 0.25em;
    padding-left: 1.25em;
    margin-bottom: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.25em;
    & li::marker {
      color: color-mix(in srgb, currentcolor 60%, transparent);
    }
  }
  /* ----- Figure ----- */
  .rich-text figure {
    margin: 1em auto 1.25em;
    width: 100%;
    max-width: 100%;
    & img {
      width: 100%;
      max-width: 100%;
      height: auto;
      border-radius: 0.75rem;
    }
  }
  .rich-text figure > div:first-child {
    max-width: 100%;
    width: 100%;
  }
  .rich-text figcaption {
    opacity: 0.67;
    font-size: 0.75em;
    text-align: center;
    text-wrap: balance;
    margin-top: 0.5em;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1em;
    padding-right: 1em;
    position: relative;
  }
  /* ----- Blockquote ----- */
  .rich-text {
    & blockquote {
      font-family: Georgia, 'Times New Roman', Times, serif;
      color: var(--_theme---text-fade);
      font-size: var(--p);
      padding: 0em;
      border-left: none;
      margin-bottom: 1em;
      text-indent: -0.75em;
      &::before,
      &::after {
        content: '';
        position: relative;
        display: inline-block;
        background-color: color-mix(in srgb, currentcolor 70%, transparent);
        mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.09091%206.40912H7.27273C6.15021%206.40912%205.10645%206.74755%204.23917%207.32887C4.3404%207.32213%204.44251%207.31822%204.54545%207.31822C7.05584%207.31822%209.09091%209.35329%209.09091%2011.8637C9.09091%2014.374%207.05584%2016.4091%204.54545%2016.4091C2.03507%2016.4091%200%2014.374%200%2011.8637C0%207.84705%203.25611%204.59094%207.27273%204.59094H9.09091V6.40912ZM20%206.40912H18.1818C17.0593%206.40912%2016.0155%206.74755%2015.1483%207.32887C15.2495%207.32213%2015.3516%207.31822%2015.4545%207.31822C17.9649%207.31822%2020%209.35329%2020%2011.8637C20%2014.374%2017.9649%2016.4091%2015.4545%2016.4091C12.9442%2016.4091%2010.9091%2014.374%2010.9091%2011.8637C10.9091%207.84705%2014.1652%204.59094%2018.1818%204.59094H20V6.40912Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.09091%206.40912H7.27273C6.15021%206.40912%205.10645%206.74755%204.23917%207.32887C4.3404%207.32213%204.44251%207.31822%204.54545%207.31822C7.05584%207.31822%209.09091%209.35329%209.09091%2011.8637C9.09091%2014.374%207.05584%2016.4091%204.54545%2016.4091C2.03507%2016.4091%200%2014.374%200%2011.8637C0%207.84705%203.25611%204.59094%207.27273%204.59094H9.09091V6.40912ZM20%206.40912H18.1818C17.0593%206.40912%2016.0155%206.74755%2015.1483%207.32887C15.2495%207.32213%2015.3516%207.31822%2015.4545%207.31822C17.9649%207.31822%2020%209.35329%2020%2011.8637C20%2014.374%2017.9649%2016.4091%2015.4545%2016.4091C12.9442%2016.4091%2010.9091%2014.374%2010.9091%2011.8637C10.9091%207.84705%2014.1652%204.59094%2018.1818%204.59094H20V6.40912Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        mask-size: cover;
        -webkit-mask-size: cover;
        mask-position: center;
        mask-repeat: no-repeat;
        -webkit-mask-repeat: no-repeat;
        margin-left: 0em;
        margin-right: 0.25em;
        width: 0.75em;
        height: 0.75em;
        top: 0.1em;
        right: 0em;
      }
      &::after {
        margin-left: 0.25em;
        margin-right: 0em;
        mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9091%2014.5909H12.7273C13.8498%2014.5909%2014.8935%2014.2525%2015.7608%2013.6712C15.6596%2013.6779%2015.5575%2013.6819%2015.4545%2013.6819C12.9442%2013.6819%2010.9091%2011.6468%2010.9091%209.1364C10.9091%206.62603%2012.9442%204.59094%2015.4545%204.59094C17.9649%204.59094%2020%206.62603%2020%209.1364C20%2013.153%2016.7439%2016.4091%2012.7273%2016.4091L10.9091%2016.4091V14.5909ZM4.76851e-07%2014.5909H1.81818C2.94073%2014.5909%203.98446%2014.2525%204.85173%2013.6712C4.75055%2013.6779%204.64836%2013.6819%204.54545%2013.6819C2.03509%2013.6819%202.19465e-07%2011.6468%200%209.1364C-2.19463e-07%206.62603%202.03509%204.59094%204.54545%204.59094C7.05582%204.59094%209.09091%206.62603%209.09091%209.1364C9.09091%2013.153%205.83482%2016.4091%201.81818%2016.4091L6.35802e-07%2016.4091L4.76851e-07%2014.5909Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
        -webkit-mask-image: url('data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.9091%2014.5909H12.7273C13.8498%2014.5909%2014.8935%2014.2525%2015.7608%2013.6712C15.6596%2013.6779%2015.5575%2013.6819%2015.4545%2013.6819C12.9442%2013.6819%2010.9091%2011.6468%2010.9091%209.1364C10.9091%206.62603%2012.9442%204.59094%2015.4545%204.59094C17.9649%204.59094%2020%206.62603%2020%209.1364C20%2013.153%2016.7439%2016.4091%2012.7273%2016.4091L10.9091%2016.4091V14.5909ZM4.76851e-07%2014.5909H1.81818C2.94073%2014.5909%203.98446%2014.2525%204.85173%2013.6712C4.75055%2013.6779%204.64836%2013.6819%204.54545%2013.6819C2.03509%2013.6819%202.19465e-07%2011.6468%200%209.1364C-2.19463e-07%206.62603%202.03509%204.59094%204.54545%204.59094C7.05582%204.59094%209.09091%206.62603%209.09091%209.1364C9.09091%2013.153%205.83482%2016.4091%201.81818%2016.4091L6.35802e-07%2016.4091L4.76851e-07%2014.5909Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E');
      }
    }
  }
  @media screen and (max-width: 479px) {
    .rich-text {
      & blockquote {
        text-indent: -0.5em;
        &::before,
        &::after {
          width: 0.5em;
          height: 0.5em;
          margin-bottom: 0.35em;
        }
      }
    }
  }
  /* ----- First and last child ----- */
  .rich-text > *:first-child,
  .rich-text > div:first-child h2:first-child {
    margin-top: 0em !important;
  }
  .rich-text > *:last-child  {
    margin-bottom: 0em !important;
  }
  /* ----------------------- END RICH TEXT SETUP ----------------------- */
  /* ----------------------- START RICH TEXT CONTENT ----------------------- */
  /* ----- Start Blog Template ----- */
  .rich-text.cc-blog {
    --p: clamp(16px, 1.125em, 20px);
  }
  /* ----- Table of contents ----- */
  .toc_link:hover,
  .toc_link:focus,
  .toc_link.w--current {
    color: var(--_theme---text);
  }
  .toc_link_wrap:has(.toc_link.w--current) {
    background-color: color-mix(in srgb, currentcolor 8%, transparent);
  }
  .toc_link_wrap.cc-h3:has(.toc_link.w--current) {
    background-color: transparent;
  }
  .toc_link_wrap.is-h3:last-child {
    margin-bottom: 0.2em;
  }
  .toc_link.w--current {
    transform: translateX(0.2em);
    transition: transform 0.3s var(--smooth-ease);
  }
  .blog_toc_wrap::-webkit-scrollbar {
    width: 0.3rem !important;
    display: block !important;
  }
  .blog_toc_wrap::-webkit-scrollbar-track {
    background: color-mix(in srgb, currentcolor 4%, transparent) !important;
    border-radius: 1em !important;
  }
  .blog_toc_wrap::-webkit-scrollbar-thumb {
    background: currentcolor !important;
    border-radius: 1em !important;
  }
  /* ----------------------- END RICH TEXT CONTENT ----------------------- */


  /* ----------------------- START MARGIN ----------------------- */
  /* ----- Margin setup ----- */
  .mt {
    margin-right: 0em !important;
    margin-bottom: 0em !important;
    margin-left: 0em !important;
  }
  .mb {
    margin-top: 0em !important;
    margin-right: 0em !important;
    margin-left: 0em !important;
  }
  /* ----- Margin values ----- */
  .m-2 {
    margin: var(--_layout---spacing--2);
  }
  .m-4 {
    margin: var(--_layout---spacing--4);
  }
  .m-8 {
    margin: var(--_layout---spacing--8);
  }
  .m-12 {
    margin: var(--_layout---spacing--12);
  }
  .m-16 {
    margin: var(--_layout---spacing--16);
  }
  .m-20 {
    margin: var(--_layout---spacing--20);
  }
  .m-24 {
    margin: var(--_layout---spacing--24);
  }
  .m-32 {
    margin: var(--_layout---spacing--32);
  }
  .m-40 {
    margin: var(--_layout---spacing--40);
  }
  .m-48 {
    margin: var(--_layout---spacing--48);
  }
  .m-64 {
    margin: var(--_layout---spacing--64);
  }
  .m-80 {
    margin: var(--_layout---spacing--80);
  }
  .m-96 {
    margin: var(--_layout---spacing--96);
  }
  /* ----------------------- END MARGIN ----------------------- */
  /* ----------------------- START MAIN CONTAINER ----------------------- */
  /* ----- Default----- */
  .main-container {
    width: 100%;
    max-width: calc(var(--max-width) + (var(--_responsive---padding--padding-horizontal) * 2)) !important;
    padding-left: var(--_responsive---padding--padding-horizontal);
    padding-right: var(--_responsive---padding--padding-horizontal);
  }
  /* ----- Padding Vertical----- */
  .main-container[data-pb='0'] {
    padding-bottom: var(--_responsive---padding--section-0) !important;
  }
  .main-container[data-pt='0'] {
    padding-top: var(--_responsive---padding--section-0) !important;
  }
  .main-container[data-pb='s'] {
    padding-bottom: var(--_responsive---padding--section-s) !important;
  }
  .main-container[data-pt='s'] {
    padding-top: var(--_responsive---padding--section-s) !important;
  }
  .main-container[data-pb='m'] {
    padding-bottom: var(--_responsive---padding--section-m) !important;
  }
  .main-container[data-pt='m'] {
    padding-top: var(--_responsive---padding--section-m) !important;
  }
  .main-container {
    padding-bottom: var(--_responsive---padding--section);
    padding-top: var(--_responsive---padding--section);
  }
  .main-container[data-pb='xl'] {
    padding-bottom: var(--_responsive---padding--section-xl);
  }
  .main-container[data-pt='xl'] {
    padding-top: var(--_responsive---padding--section-xl);
  }
  .main-container[data-pb='xxl'] {
    padding-bottom: var(--_responsive---padding--section-xxl);
  }
  .main-container[data-pt='xxl'] {
    padding-top: var(--_responsive---padding--section-xxl);
  }
  /* ----- Padding Horizontal----- */
  .main-container[data-ph='0'] {
    padding-left: 0em !important;
    padding-right: 0em !important;
    max-width: var(--max-width) !important;
  }
  .main-container[data-ph='s'] {
    max-width: calc(var(--max-width) + var(--_responsive---padding--padding-horizontal)) !important;
    padding-left: calc(var(--_responsive---padding--padding-horizontal) / 2) !important;
    padding-right: calc(var(--_responsive---padding--padding-horizontal) / 2) !important;
  }
  /* ----- Max Width ----- */
  .main-container[data-max='none'] {
    max-width: 100vw !important;
  }
  .main-container[data-max='xl'] {
    max-width: 90em !important;
  }
  .main-container[data-max='s'] {
    max-width: 61.25em !important;
  }
  /* ----------------------- END MAIN CONTAINER ----------------------- */
  /* ----------------------- START GAP ----------------------- */
  /* ----- Gap values ----- */
  .gap-2 {
    gap: var(--_layout---spacing--2);
  }
  .gap-4 {
    gap: var(--_layout---spacing--4);
  }
  .gap-8 {
    gap: var(--_layout---spacing--8);
  }
  .gap-12 {
    gap: var(--_layout---spacing--12);
  }
  .gap-16 {
    gap: var(--_layout---spacing--16);
  }
  .gap-20 {
    gap: var(--_layout---spacing--20);
  }
  .gap-24 {
    gap: var(--_layout---spacing--24);
  }
  .gap-32 {
    gap: var(--_layout---spacing--32);
  }
  .gap-40 {
    gap: var(--_layout---spacing--40);
  }
  .gap-48 {
    gap: var(--_layout---spacing--48);
  }
  .gap-64 {
    gap: var(--_layout---spacing--64);
  }
  .gap-80 {
    gap: var(--_layout---spacing--80);
  }
  .gap-96 {
    gap: var(--_layout---spacing--96);
  }
  /* ----------------------- END GAP ----------------------- */


  /* ----------------------- BODY ----------------------- */
  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  *,
  *:after,
  *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  html {
    scroll-behavior: none;
    background-color: var(--_theme---background);
    min-height: 100vh;
  }
  html,
  body {
    -webkit-font-smoothing: antialiased;
  }
  body {
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  svg {
    max-width: none;
    height: auto;
    box-sizing: border-box;
    vertical-align: middle;
  }
  html,
  body {
    width: 100%;
    height: auto !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* ----------------------- LENIS ----------------------- */
  html.lenis {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
  /* ----------------------- SELECTION ----------------------- */
  ::selection {
    background-color: var(--brand--blue);
    color: var(--neutral--white);
    text-shadow: none;
  }
  ::-moz-selection {
    background-color: var(--brand--blue);
    color: var(--neutral--white);
    text-shadow: none;
  }
  /* ----------------------- SCROLLBAR ----------------------- */
  body ::-webkit-scrollbar {
    display: none;
  }
  body {
    -ms-overflow-style: none;
  }
  html {
    scrollbar-width: none;
  }
  /* ----------------------- GENERAL ----------------------- */
  *[tabindex]:focus-visible,
  input[type='file']:focus-visible {
    outline: 0.125rem solid #4d65ff;
    outline-offset: 0.125rem;
  }
  .w-tabs::before,
  .w-tabs::after {
    display: none;
  }
  .w-dropdown {
    z-index: 1;
  }
  a,
  button {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  /* ----------------------- HIDE ----------------------- */
  .hide {
    display: none !important;
  }
  @media screen and (min-width: 992px) {
    .hide-dd {
      display: none !important;
    }
  }
  @media screen and (max-width: 991px) {
    .hide-td {
      display: none !important;
    }
    .td-block {
      display: block !important;
    }
  }
  @media screen and (max-width: 767px) {
    .hide-ld {
      display: none !important;
    }
    .ld-block {
      display: block !important;
    }
  }
  @media screen and (max-width: 479px) {
    .hide-md {
      display: none !important;
    }
    .md-block {
      display: block !important;
    }
  }
  /* ----------------------- TEXT CLAMP ----------------------- */
  .u-text-clamp-1 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .u-text-clamp-3 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  /* ----------------------- Utility ----------------------- */
  .text-center {
    text-align: center;
  }
  .m-center {
    margin: 0 auto;
  }


  /* ----------------------- START VARIABLES ----------------------- */
  :root {
    --smooth-ease: cubic-bezier(0.32, 0.72, 0, 1);
    --ease-scale: cubic-bezier(0.34, 1.35, 0.64, 1);
    --opacity-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --duration-xs: 0.2s;
    --duration-s: 0.45s;
    --duration-m: 0.6s;
    --duration-l: 0.8s;
    --duration-xl: 2s;
    --animation: var(--duration-s) var(--smooth-ease);
    --transition: all var(--duration-l) var(--smooth-ease);
    --bg-glass-blue: linear-gradient(0deg, rgba(50, 75, 216, 0.03) 0%, rgba(50, 75, 216, 0.03) 100%), rgba(255, 255, 255, 0.03);
    --bg-card: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0) 100%), rgba(255, 255, 255, 0.03);
    --sh-glass: 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
    --sh-glass-blue: 0 0 44px 0 rgba(50, 75, 216, 0.06) inset, 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
    --sh-btn: 0 8px 20px 0 rgba(255, 255, 255, 0.12), 0 2px 10px 0 rgba(255, 255, 255, 0.12);
    --sh-glass-blue-bgblur: 0 0 44px 0 rgba(50, 75, 216, 0.06) inset, 0 0 8px 0 rgba(255, 255, 255, 0.12) inset, 0 0 44px 0 rgba(255, 255, 255, 0.06) inset;
  }
  /* ----------------------- END VARIABLES ----------------------- */
  /* ----------------------- START ATTRIBUTES ----------------------- */
  /* ----- Border ----- */
  [data-bt] {
    border-top: 1px solid var(--_theme---border);
  }
  [data-bb] {
    border-bottom: 1px solid var(--_theme---border);
  }
  [data-bl] {
    border-left: 1px solid var(--_theme---border);
  }
  [data-br] {
    border-right: 1px solid var(--_theme---border);
  }
  [data-bx] {
    border-right: 1px solid var(--_theme---border);
    border-left: 1px solid var(--_theme---border);
  }
  [data-by] {
    border-top: 1px solid var(--_theme---border);
    border-bottom: 1px solid var(--border-color);
  }
  [data-b] {
    border: 1px solid var(--_theme---border);
  }
  /* ----------------------- END ATTRIBUTES ----------------------- */
  /* ----------------------- START GENERAL ----------------------- */
  /* ----- Hero Apparition ----- */
  [data-appear]{
    opacity: 0;
    transform: translateY(1.5rem) scale(0.94);
    filter: blur(0.25rem);
    will-change: opacity, transform, filter;
    animation: appear var(--duration-s) var(--smooth-ease) forwards;
    animation-delay: calc(var(--index) * 0.1s);
  }
  @keyframes appear {
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
      filter: blur(0);
    }
  }
  /* ----------------------- END GENERAL ----------------------- */
  /* -------------------------- START ANIMATIONS -------------------------- */
  /* ----- Text Split ----- */
  .single-line {
    will-change: transform;
  }
  /* ----- Dropdown ----- */
  .dropdown-icon {
    transition: transform var(--animation);
  }
  [data-state='open'] .dropdown-icon {
    transform: rotate(135deg);
  }
  .dropdown-item{
    transition: outline-color 0.3s var(--smooth-ease);
    outline-offset: -1px;
    outline: 1px solid var(--alpha--white-12);
    &::after{
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: var(--alpha--white-4);
      box-shadow: var(--sh-glass);
      transform: scale(0.9);
      opacity: 0;
      transition: transform 0.3s var(--smooth-ease), opacity 0.3s var(--smooth-ease);
      will-change: transform, opacity;
    }
    &[data-state='open'] {
      outline-color: var(--alpha--white-4);
      &::after {
        transform: scale(1);
        opacity: 1;
      }
    }
  }
  /* Language */
  .langue_dropdown {
    transition: background-color 0.3s var(--smooth-ease), border-color 0.3s var(--smooth-ease);
    background-color: transparent;
    border: 1px solid transparent;
    & .langue_dropdown_icon {
      transition: transform 0.3s var(--smooth-ease);
    }
    &[data-state='open'] {
      background-color: var(--alpha--white-4);
      border: 1px solid var(--alpha--white-8);
      & .langue_dropdown_icon {
        transform: rotateX(180deg);
      }
    }
  }
  /* -------------------------- END ANIMATIONS -------------------------- */
  /* ----------------------- START BUTTONS ----------------------- */
  /* ----- Button Animation ----- */
  .btn_wrap {
    & .btn_arrow {
      &:nth-child(1) {
        transform: translate(0%, 0%);
      }
      &:nth-child(2) {
        transform: translate(-100%, 100%);
      }
    }
    & .btn_bg {
      transition: all var(--duration-s) var(--smooth-ease);
    }
    &:active {
      & .btn_bg {
        scale: 0.95;
      }
    }
  }
  @media screen and (min-width: 998px) {
    .btn_wrap {
      & .btn_arrow {
        transition: transform var(--duration-s) var(--smooth-ease);
        will-change: transform;
      }
      & .btn_text_span {
        transition: transform var(--duration-s) var(--smooth-ease);
        will-change: transform;
      }
      &:hover {
        & .btn_arrow {
          &:nth-child(1) {
            transform: translate(100%, -100%);
          }
          &:nth-child(2) {
            transform: translate(0%, 0%);
          }
        }
        & .btn_bg {
          inset: 0.125em;
        }
        & .btn_text_span {
          transform: translateY(-100%);
        }
      }
    }
  }
  /* ----- Button Style ----- */
  .btn_wrap {
    --btn-text-color: var(--neutral--dark);
    --btn-bg-color: var(--neutral--white);
    --btn-outline-color: var(--alpha--white-8);
    --btn-text-size: 1em;
    --btn-shadow: var(--sh-btn);
    --btn-radius: 0.875em;
    color: var(--btn-text-color);
    & .btn_bg {
      background: var(--btn-bg-color);
      outline: 1px solid var(--btn-outline-color);
      outline-offset: -1px;
      border-radius: inherit;
      box-shadow: var(--btn-shadow);
    }
    & .btn_text {
      font-size: var(--btn-text-size);
    }
    &[data-wf--interactive-button--settings-variant='main'] {
      padding: 0.625em 1.125em;
      height: 2.75em;
      border-radius: var(--btn-radius);
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='link'] {
      gap: 0.25em;
      --btn-text-color: var(--neutral--white);
      --btn-bg-color: none;
      --btn-outline-color: none;
      --btn-shadow: none;
      --btn-padding: 0.5em 0.5em 0.5em 1em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='outline'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: transparent;
      --btn-shadow: none;
      border-radius: 0.75em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='telegram'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: transparent;
      --btn-shadow: none;
      border-radius: 1em;
      &:has(.btn_icon) {
        padding: 0.5em 0.875em 0.5em 0.5em;
      }
    }
    &[data-wf--interactive-button--settings-variant='glass'] {
      padding: 0.5em 0.875em;
      --btn-text-color: var(--neutral--white);
      --btn-text-size: 0.875em;
      --btn-bg-color: var(--bg-glass-blue);
      --btn-shadow: var(--sh-glass-blue);
      border-radius: 0.75em;
      &:has(.btn_icon) {
        padding: 0.5em 0.5em 0.5em 1em;
      }
    }
    &[data-wf--interactive-button--settings-variant='small'] {
      padding: 0.375em 0.75em;
      --btn-radius: 99em;
      --btn-text-color: var(--neutral--white);
      --btn-bg-color: var(--neutral--eerie);
      --btn-outline-color: color-mix(in srgb, currentColor 8%, transparent);
      --btn-text-size: 0.875em;
    }
  }
  @media screen and (max-width: 991px) {
    .btn_wrap {
      &[data-wf--interactive-button--settings-variant='small'] {
        min-height: 2.375em;
        display: flex;
        align-items: center;
        justify-content: center;
      }
    }
  }
  /* ----------------------- END BUTTONS ----------------------- */
  /* ----------------------- START NAVBAR STYLE ----------------------- */
  /* ----- Navbar Scroll ----- */
  body[data-scrolling-started='true'][data-nav-status='closed'] .header {
    padding: 1em;
    will-change: padding;
  }
  @media screen and (max-width: 767px) {
    body[data-scrolling-started='true'][data-nav-status='closed'] .header {
      padding: 0.75em;
    }
  }
  .header_bg {
    transition: transform var(--duration-s) var(--smooth-ease);
    transform-origin: center top;
    transform: scaleY(0) translateY(-30%);
    will-change: transform;
    & > div {
      position: absolute;
      inset: 0;
      &:nth-child(1) {
        z-index: 2;
        -webkit-backdrop-filter: blur(1px);
        backdrop-filter: blur(1px);
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 12.5%, rgb(255, 255, 255) 37.5%, rgba(255, 255, 255, 0) 50%);
      }
      &:nth-child(2) {
        z-index: 3;
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 12.5%, rgb(255, 255, 255) 37.5%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 62.5%);
      }
      &:nth-child(3) {
        z-index: 4;
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 37.5%, rgb(255, 255, 255) 50%, rgb(255, 255, 255) 62.5%, rgba(255, 255, 255, 0) 75%);
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px);
      }
      &:nth-child(4) {
        z-index: 5;
        -webkit-mask: linear-gradient(to top, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 62.5%, rgb(255, 255, 255) 75%, rgba(255, 255, 255, 0) 87.5%);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
      }
    }
  }
  body[data-scrolling-started='true'] .header_bg {
    transform: scaleY(1) translateY(-30%);
  }
  /* ----- Navbar Hover ----- */
  @media (hover: hover) and (pointer: fine) {
    .footer-link,
    [data-text-link] {
      &::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 1px;
        bottom: 0px;
        left: 0px;
        transform-origin: center right;
        transition: transform var(--animation);
        background: currentColor;
        transform: scale(0, 1);
      }
      &:hover {
        &::after {
          transform: scale(1, 1);
          transform-origin: center left;
        }
      }
    }
    .navlink {
      &::after {
        content: '';
        position: absolute;
        inset: 0%;
        border-radius: inherit;
        background: color-mix(in srgb, currentColor 8%, transparent);
        box-shadow: var(--sh-glass);
        transition: transform var(--duration-s) var(--smooth-ease), opacity var(--duration-s) var(--smooth-ease);
        transform: scale(0.9);
        opacity: 0;
        will-change: transform, opacity;
        isolation: isolate;
      }
      & .navlink_text {
        transition: transform var(--duration-s) var(--smooth-ease);
        --text-distance: 1.2em;
        text-shadow: 0px var(--text-distance) currentColor;
      }
      &:hover {
        & .navlink_text {
          transform: translate(0px, calc(-1 * var(--text-distance)));
        }
        &::after {
          transform: scale(1);
          opacity: 1;
        }
      }
    }
  }
  /* ----- Navbar Theme ----- */
  /* Setup */
  .header {
    --nav-text-color: inherit;
    --nav-text-menu: inherit;
    --nav-bg-menu: var(--bg-card);
    --nav-shadow-menu: inherit;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Apply colors */
  .header {
    & .navlink {
      transition: color var(--animation);
      color: var(--nav-text-color);
    }
    & .menu-button {
      transition: all var(--animation);
      will-change: transform;
      outline: 1px solid var(--nav-outline-menu);
      outline-offset: -1px;
      color: var(--nav-text-menu);
      background-color: var(--nav-bg-menu);
      box-shadow: var(--nav-shadow-menu);
      outline-color: var(--nav-outline-menu);
    }
  }
  /* Base Theme */
  [data-theme-nav='base'] .header {
    --nav-text-color: var(--neutral--white);
    --nav-text-menu: var(--neutral--white);
    --nav-bg-menu: var(--neutral--eerie);
    --nav-shadow-menu: none;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Invert Theme */
  [data-theme-nav='invert'] .header {
    --nav-text-color: var(--neutral--dark);
    --nav-text-menu: var(--neutral--dark);
    --nav-bg-menu: var(--neutral--white);
    --nav-shadow-menu: none;
    --nav-outline-menu: color-mix(in srgb, currentColor 8%, transparent);
  }
  /* Mobile Theme Override */
  @media screen and (max-width: 991px) {
    [data-theme-nav='base'] .header,
    [data-theme-nav='invert'] .header,
    .header {
      --nav-text-color: var(--neutral--dark);
    }
  }
  /* ----- Menu Mobile ----- */
  @media screen and (max-width: 991px) {
    .header {
      --menu-speed: 0.75s;
      --stagger-fast: 0.01s;
      --stagger-default: 0.04s;
      --reveal-delay: 0.25s;
      --menu-open-text-color: var(--neutral--white);
      --menu-open-bg-color: var(--neutral--dark);
      --menu-open-shadow: none;
      --menu-open-outline-color: color-mix(in srgb, currentColor 8%, transparent);
    }
    /* Initial State */
    .nav_menu_outer {
      visibility: hidden;
    }
    .menu_bg {
      transition: opacity var(--animation);
    }
    .nav_menu_container {
      transition: transform var(--menu-speed) var(--smooth-ease);
      transform: translateY(calc(-100% - 2em));
    }
    [data-nav-button] {
      transition: transform var(--animation), opacity var(--animation);
      will-change: transform, opacity;
      transform: translateY(0em);
      opacity: 1;
    }
    [data-menu-reveal] {
      transition: transform var(--animation), opacity var(--animation);
      will-change: transform, opacity;
      transform: translateY(-1em) scale(1) translateZ(0);
      opacity: 0;
    }
    .menu-button {
      & .menu-button-line {
        transition: transform var(--animation);
        &:first-child {
          transform: translateY(-3px) scaleY(0.8);
        }
        &:last-child {
          transform: translateY(3px) scaleY(0.8);
        }
      }
    }
    /* Open State */
    .nav_menu_outer[data-state='open']:not(.is-closing) {
      visibility: visible;
      .nav_menu_container {
        transform: translateY(0%);
      }
      .menu_bg {
        opacity: 1;
      }
      [data-menu-reveal] {
        transition: transform var(--animation), opacity var(--animation);
        transition-delay: calc((var(--index) * var(--stagger-default)) + var(--reveal-delay));
        transform: translateY(0em) scale(1) translateZ(0);
        opacity: 1;
      }
    }
    /* Closing Animations */
    [data-nav-status='open']:has(.nav_menu_outer:not(.is-closing)) {
      .menu-button {
        color: var(--menu-open-text-color);
        background-color: var(--menu-open-bg-color);
        box-shadow: var(--menu-open-shadow);
        outline-color: var(--menu-open-outline-color);
        & .menu-button-line {
          &:first-child {
            transform: translateY(0px) rotate(45deg) scaleY(0.8);
          }
          &:last-child {
            transform: translateY(0px) rotate(-45deg) scaleY(0.8);
          }
        }
      }
      [data-nav-button] {
        transition: transform var(--animation), opacity var(--animation);
        transition-delay: calc((var(--index) * var(--stagger-fast)));
        transform: translateY(-3em);
        opacity: 0;
      }
    }
    /* Close State */
    .nav_menu_outer.is-closing {
      visibility: visible;
      & .nav_menu_container {
        transform: translateY(calc(-100% - 2em));
        transition-duration: var(--duration-s);
      }
      & .menu_bg {
        opacity: 0;
      }
    }
  }
  /* ----------------------- END NAVBAR STYLE ----------------------- */
  /* ----------------------- CUSTOM ----------------------- */
  /*[data-bg='glass-blue'] {
  background: linear-gradient(0deg, color-mix(in srgb, var(--brand-blue) 3%, transparent) 0%, color-mix(in srgb, var(--brand-blue) 3%, transparent) 100%), rgba(255, 255, 255, 0.03);
}
[data-bg='card'] {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.00) 100%), rgba(255, 255, 255, 0.03);
}- */
  [data-bg='glass-blue'] {
    background: var(--bg-glass-blue);
  }
  [data-bg='card'] {
    background: var(--bg-card);
  }
  /* ----- SHADOWS ----- */
  [data-shadow='glass'] {
    box-shadow: var(--sh-glass);
    background: var(--alpha--white-4);
    border: 1px solid var(--alpha--white-4);
  }
  [data-shadow='glass-blue'] {
    box-shadow: var(--sh-glass-blue);
    background: linear-gradient(0deg, rgba(50, 75, 216, 0.03) 0%, rgba(50, 75, 216, 0.03) 100%), rgba(255, 255, 255, 0.03);
    border: 1px solid var(--alpha--white-4);
  }
  [data-shadow='btn'] {
    box-shadow: var(--sh-btn);
  }
  [data-shadow='glass-blue-bgblur'] {
    box-shadow: var(--sh-glass-blue-bgblur);
  }
  /* ----------------------- Border gradient ----------------------- */
  [data-bb-gr] {
    position: relative;
  }
  [data-bb-gr]::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0) 100%);
  }
  .swiper-slide-prev > div {
    will-change: transform;
    transform: scale(0.5);
    transition: transform 0.3s var(--ease-scale), opacity 0.3s var(--ease-scale);
    transform-origin: center top;
    opacity: 0;
    backface-visibility: hidden;
  }
  .swiper-slide {
    will-change: transform;
  }
  /* ----------------------- START WALL OF LOVE ----------------------- */
  [data-wall='group'] {
    --wall-ease: cubic-bezier(0.34, 1.35, 0.64, 1);
    --wall-duration: 0.45s;
    & .wall-mask {
      transition: opacity var(--wall-duration) var(--wall-ease), transform var(--wall-duration) var(--wall-ease);
      will-change: opacity, transform;
      transform-origin: center bottom;
      opacity: 1;
    }
    & .wall-btn-wrap {
      transition: transform var(--wall-duration) var(--wall-ease), opacity var(--wall-duration) var(--wall-ease);
      will-change: transform, opacity;
      opacity: 1;
    }
    &.active {
      & .wall-mask {
        opacity: 0;
        transform: scaleY(0);
      }
      & .wall-btn-wrap {
        opacity: 0;
        transform: translateX(-50%) scale(0.9);
        pointer-events: none;
      }
    }
  }
  /* ----------------------- END WALL OF LOVE ----------------------- */
  /* ----------------------- Start Video ----------------------- */
  /* Animation */
  [data-bunny-player-init] :is(.bunny-player__placeholder, .bunny-player__dark, .bunny-player__playpause, .bunny-player__loading) {
    transition: opacity var(--duration-xs) var(--ease-scale), visibility var(--duration-xs) var(--ease-scale);
  }
  /* Placeholder */
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__placeholder,
  [data-bunny-player-init][data-player-status='paused'] .bunny-player__placeholder,
  [data-bunny-player-init][data-player-activated='true'][data-player-status='ready'] .bunny-player__placeholder {
    opacity: 0;
    visibility: hidden;
  }
  /* Dark Overlay */
  [data-bunny-player-init][data-player-status='paused'] .bunny-player__dark,
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__dark {
    opacity: 0.3;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__dark {
    opacity: 0;
  }
  /* Play/Pause */
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__playpause,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__playpause {
    opacity: 0;
  }
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__playpause {
    opacity: 1;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__play-svg,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__play-svg {
    display: none;
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__pause-svg,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__pause-svg {
    display: block;
  }
  /* Loading */
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__loading {
    opacity: 1;
    visibility: visible;
  }
  /* Interface */
  .bunny-player__interface {
    transition: all var(--duration-s) var(--ease-scale);
  }
  [data-bunny-player-init][data-player-status='playing'] .bunny-player__interface,
  [data-bunny-player-init][data-player-status='loading'] .bunny-player__interface {
    opacity: 0;
    transform: translateY(1em) rotate(0.001deg);
  }
  [data-bunny-player-init][data-player-status='playing'][data-player-hover='active'] .bunny-player__interface,
  [data-bunny-player-init][data-player-status='loading'][data-player-hover='active'] .bunny-player__interface {
    opacity: 1;
    transform: translateY(0em) rotate(0.001deg);
  }
  /* Timeline */
  [data-bunny-player-init][data-player-status='idle'][data-player-activated='false'] .bunny-player__timeline,
  [data-bunny-player-init][data-player-status='ready'][data-player-activated='false'] .bunny-player__timeline {
    pointer-events: none;
  }
  /* Timeline Handle */
  [data-bunny-player-init] .bunny-player__timeline-handle {
    transition: transform 0.15s ease-in-out;
  }
  [data-bunny-player-init][data-timeline-drag='true'] .bunny-player__timeline-handle {
    transform: translate(-50%, -50%) scale(1);
  }
  /* Fullscreen */
  [data-bunny-player-init][data-player-fullscreen='true'] .bunny-player__fullscreen-shrink-svg {
    display: block;
  }
  [data-bunny-player-init][data-player-fullscreen='true'] .bunny-player__fullscreen-scale-svg {
    display: none;
  }
  /* Mute */
  [data-bunny-player-init][data-player-muted='true'] .bunny-player__volume-mute-svg {
    display: block;
  }
  [data-bunny-player-init][data-player-muted='true'] .bunny-player__volume-up-svg {
    display: none;
  }
  /* Cover Mode */
  [data-bunny-player-init][data-player-update-size='cover'] {
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
  }
  [data-bunny-player-init][data-player-update-size='cover'] [data-player-before] {
    display: none;
  }
  [data-bunny-player-init][data-player-update-size='cover'][data-player-fullscreen='false'] .bunny-player__video {
    object-fit: cover;
  }
  /* ----------------------- END Video ----------------------- */
  /* ----------------------- START Language visibility ----------------------- */
  html[lang='fr'] {
    & [data-lang='fr'] {
      display: block;
    }
    & [data-lang='en'] {
      display: none;
    }
    & [data-lang='de'] {
      display: none;
    }
  }
  html[lang='en'] {
    & [data-lang='fr'] {
      display: none;
    }
    & [data-lang='en'] {
      display: block;
    }
    & [data-lang='de'] {
      display: none;
    }
  }
  html[lang='de'] {
    & [data-lang='fr'] {
      display: none;
    }
    & [data-lang='en'] {
      display: none;
    }
    & [data-lang='de'] {
      display: block;
    }
  }
  /* ----------------------- END Language visibility ----------------------- */


@property --angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
  }
  [animated-line] {
    --angle: 0deg;
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: transparent;
    z-index: 1;
  }
  [animated-line]::before {
    content: '';
    will-change: transform;
    position: absolute;
    inset: 0;
    padding: 1px;
    box-sizing: border-box;
    border-radius: inherit;
    background: conic-gradient(
      from calc(var(--angle) + var(--angle-offset, 0deg)),
      rgba(255, 255, 255, 0.08) 0%,
      rgba(50, 75, 216, 1) 15%,
      rgba(255, 255, 255, 0.08) 16%,
      rgba(255, 255, 255, 0.08) 50%,
      rgba(50, 75, 216, 1) 65%,
      rgba(255, 255, 255, 0.08) 66%
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: spin 10s linear infinite;
    z-index: -1;
  }
  @keyframes spin {
    0%   { --angle: 0deg; }
    100% { --angle: 360deg; }
  }
[animated-line][reverse]::before {
  transform: scaleX(-1);
}
  .line-container {
    -webkit-mask-image: linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(100% - 1.5em),
      black calc(100% - 1.5em),
      black 100%
    );
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(100% - 1.5em),
      black calc(100% - 1.5em),
      black 100%
    );
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
  }
  .hero-line {
    background-size: 200% 100%;
    will-change: background-position;
  }
  @media (max-width: 991px) {
    .hero-line {
      background: linear-gradient(
        180deg,
        #171828,
        var(--brand--blue) 25%,
        #171828 26%
      );
      background-size: 100% 200%;
      animation: gradient-move-vertical 1.5s linear infinite;
    }
    @keyframes gradient-move-vertical {
      from { background-position: 0 200%; }
      to   { background-position: 0 0; }
    }
    .dashboard-container {
      position: relative;
      overflow: hidden;
      -webkit-mask-image: linear-gradient(
        to right,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,1) 25%,
        rgba(0,0,0,1) 75%,
        rgba(0,0,0,0) 100%
      );
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-size: cover;
      mask-image: linear-gradient(
        to right,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,1) 25%,
        rgba(0,0,0,1) 75%,
        rgba(0,0,0,0) 100%
      );
      mask-repeat: no-repeat;
      mask-size: cover;
    }
  }
  @keyframes gradient-move {
    from { background-position: 200% 0; }
    to   { background-position: 0% 0; }
  }
  .inner-window {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    -webkit-mask-position: top;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
    mask-repeat: no-repeat;
    mask-size: cover;
    mask-position: top;
  }
  [bento-alpha] {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    -webkit-mask-position: top;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%);
    mask-repeat: no-repeat;
    mask-size: cover;
    mask-position: top;
  }
.chart-line{ display:block;}
@media (prefers-reduced-motion: reduce){
  .chart-line{ clip-path: inset(0); }
}
