/*
Theme Name: Sparteo
Theme URI: https://nicolaslebret.fr/
Description: Sparteo Child Theme
Author: Nicolas Lebret
Author URL: https://nicolaslebret.fr/
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URL: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sparteo-child
*/

/* Fonts */
@font-face {
    font-family: 'Klarheit Kurrent';
    src: url('./assets/fonts/klarheit/ESKlarheitKurrent-Smbd.woff2')format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* @font-face {
    font-family: 'Inter';
    src: url('./assets/fonts/inter/Inter_18pt-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('./assets/fonts/inter/Inter_18pt-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('./assets/fonts/inter/Inter_18pt-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
} */
/* END Fonts */

/* General */
html body.e--ua-isTouchDevice * {
    background-attachment: scroll !important;
}

html,
body {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
}

body {
    /* background-color: #fff; */
    color: #000;
    font-family: 'Inter', 'Arial', sans-serif;
    /* text-rendering: optimizeLegibility; */
    font-size: 1rem;
    line-height: 1.5;
    overflow-x: hidden;
}

main#content {
    background-color: #fafafa;
}

.elementor-widget-heading h1.elementor-heading-title {
    letter-spacing: -.04em;
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1.1;
    /* transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg); */
    /* opacity: 1; */
    /* transform-style: preserve-3d; */
}

.elementor-widget-heading h2.elementor-heading-title b,
.elementor-widget-heading p.elementor-heading-title strong {
    background: linear-gradient(89.47deg, #31A7FD 0.16%, #5B71FF 25.14%, #956EFF 50.11%, #F067D8 75.09%, #FF7171 100.07%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    font-weight: 500;
}

h1 span {
    background: linear-gradient(270deg, rgba(66, 210, 255, 0.5) 0%, rgba(31, 40, 255, 0.5) 50%, #9C1FFF 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

h2,
h2.elementor-heading-title {
    letter-spacing: -.02em;
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
}

h3,
h3.elementor-heading-title {
    letter-spacing: 0;
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
}

/* main#content a,  */
main#content .elementor .elementor-widget-text-editor a:not(.elementor-button),
.form_component a {
    color: #000;
    text-decoration: underline;
}

b, strong {
    font-weight: 500;
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0;
}

.w-nav-link a.elementor-button {
    vertical-align: top;
    color: #222;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    text-decoration: none;
    display: inline-block;
    position: relative;
}

.nav_link a.elementor-button {
    border-radius: 2rem;
    padding: .5rem 1rem;
    font-family: 'Inter', 'Arial', sans-serif;
    font-weight: 400;
    transition: opacity .2s;
}

.button a.elementor-button {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    background-color: #000;
    border-radius: 2rem;
    padding: 1rem 2rem;
    font-family: 'Inter', 'Arial', sans-serif;
    font-weight: 500;
}

.w-button a.elementor-button {
    color: #fff;
    line-height: inherit;
    cursor: pointer;
    background-color: #3898ec;
    border: 0;
    border-radius: 0;
    padding: 9px 15px;
    text-decoration: none;
    display: inline-block;
}

.button.is-nav a.elementor-button {
    color: #000;
    text-transform: none;
    background-color: #0000000d;
    padding: .5rem 1rem;
    font-weight: 400;
    transition: background-color .2s;
}

.text-size-large {
    font-size: 1.5rem;
    line-height: 1.3;
}

.text-weight-light {
    font-weight: 300;
}

.padding-global {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

.container-large {
    width: 100%;
    max-width: 88rem;
    margin-left: auto;
    margin-right: auto;
}

.card-content_list .elementor-icon-list-item {
    position: relative;
    gap: .5rem;
    align-items: start;
}

.card-content_list .elementor-icon-list-item::before {
    content: '';
    position: relative;
    top: 1px;
    flex: 0 0 .375rem;
    display: block;
    width: .375rem;
    height: .375rem;
    margin: 8px;
    background-color: #956eff;
}

.w-layout-grid {
    grid-row-gap: 16px;
    grid-column-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
}

.wp-features_grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
}

.btn-default .elementor-button-icon {
    position: relative;
    justify-content: center;
    align-items: center;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    overflow: hidden;
}

.btn-default .elementor-button-icon::before{
    content: "";
    background-image: url('./assets/img/arrow-line-white.svg');
    position: absolute;
    width: 0;
    height: 2px;
    left: 2px;
    top: calc(50% - 1px);
    transform: translate3d(0%, 0%, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg);
    transform-style: preserve-3d;
    transition: width 150ms ease-in-out;
}

.btn-default.btn-white .elementor-button-icon::before{
    background-image: url('./assets/img/arrow-line-black.svg');
}

.btn-default svg {
    transform: translate3d(-4px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg);
    transform-style: preserve-3d;
    transition: transform 150ms ease-in-out;
}

.btn-default:hover svg {
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg);
    transform-style: preserve-3d;
}

.btn-default:hover .elementor-button-icon::before{
    width: 12px;
}

.btn-small .elementor-button-icon {
    position: relative;
}

.btn-small .elementor-button-icon::before{
    content: "";
    background-image: url('./assets/img/icone-cmp-hover.svg');
    position: absolute;
    width: 0;
    height: .75rem;
    left: -1px;
    top: 7px;
    transform: translate3d(0%, 0%, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg);
    transform-style: preserve-3d;
    transition: width 350ms ease-in-out;
}

.btn-small:hover .elementor-button-icon::before{
    width: .75rem;
}

.font_klarheit {
    font-family: 'Klarheit Kurrent', sans-serif;
}

.font-bold-white strong {
    color: #fff;
}

/* Fade in up */
.fade-in-up {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
    transition: opacity 300ms ease-in-out, transform 300ms ease-in-out;
    will-change: opacity, transform;
}

.fade-in-up.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .fade-in-up,
    .fade-in-up.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
/* Fade in up */

/* Slide in */
.slide-in {
    opacity: 0;
    transform: translateY(2rem);
    will-change: opacity, transform;
}

.slide-in.is-visible {
    animation: contact-component-slide-in 1s ease forwards;
}

@keyframes contact-component-slide-in {
    from {
        opacity: 0;
        transform: translateY(2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* END Slide in */

/* END General */

/* Header */
header {
    position: fixed;
    width: 100%;
    top: 0;
    /* -webkit-backdrop-filter: blur(32px); */
    /* backdrop-filter: blur(32px); */
    color: #000;
    /* background-color: #fafafa; */
    /* background-color: rgba(250, 250, 250, 0); */
    background-color: rgba(250, 250, 250, var(--header-bg-alpha, 0));
    /* border-bottom: 1px solid #0000000d; */
    border-bottom: 1px solid rgba(0, 0, 0, var(--header-border-alpha, 0));
    /* border-color: rgba(0, 0, 0, 0); */
    padding-top: 1rem;
    padding-bottom: 1rem;
    inset: 0% 0% auto;
    z-index: 1000;
    transition: transform .25s ease;
    will-change: background-color;
}

header.is-scrolled {
    /* border-color: rgba(0, 0, 0, 0.05); */
    /* z-index: 1000; */
}

header .navbar.e-flex > .e-con-inner {
    justify-content: space-between;
    align-items: center;
}

header .left-column,
header .right-column {
    width: auto;
}

header .nav-separator {
    background-color: #00000026;
    width: 1px;
    height: 2.5rem;
    margin-left: 1rem;
    margin-right: 1rem;
}

header .nav-wp-button {
    color: #fff;
    transition: opacity .2s;
}

header .nav-wp-button svg {
    width: 1.25rem;
    height: 1.25rem;
}

header .elementor-widget-n-menu .e-n-menu-title-container {
    padding: .5rem 1rem;
    border-radius: 2rem;
    transition: background-color .2s;
}

header .elementor-widget-n-menu .e-n-menu-title-container:hover {
    /* opacity: .5; */
    background-color: #0000000d;
}

header .elementor-widget-n-menu #nav_contact .e-n-menu-title-container {
    color: #000;
    text-transform: none;
    background-color: #0000000d;
    padding: .5rem 1rem;
    font-weight: 400;
    transition: background-color .2s;
}

header .elementor-widget-n-menu #nav_contact .e-n-menu-title-container:hover {
    color: #fff;
    background-color: #000;
}

header .elementor-widget-n-menu #nav_wordpress .e-n-menu-title-container {
    color: #fff;
    background-color: #0073aa;
    border-radius: 2rem;
    align-items: center;
    padding: .5rem 1rem;
    text-decoration: none;
    transition: opacity .2s;
    display: flex;
}

header .elementor-widget-n-menu #nav_wordpress .e-n-menu-title-container:hover {
    opacity: .7;
}

header .elementor-widget-n-menu #nav_wordpress.e-n-menu-title:not(.e-current):not(:hover) .e-n-menu-title-container .e-n-menu-title-text {
    color: #fff;
}

header .elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
    display: none;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con {
    border: 1px solid #0000000d;
    box-shadow: 0 4px 8px #0000000d,0 8px 16px #0000000d,0 16px 32px #0000000d;
}

header .elementor-widget-n-menu .e-n-menu-content > div > .e-con-inner {
    gap: 0;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con a {
    display: block;
    color: #e0e0e0;
    background-color: #fafafa00;
    border-radius: 1rem;
    width: 100%;
    padding: .75rem;
    transition: background-color .2s,color .2s;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con p a {
    color: #00000080;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con a:hover {
    color: #e0e0e000;
    background-color: #fafafa;
}

header .elementor-widget-n-menu #nav_signin + .e-n-menu-content > .e-con a:hover {
    color: #000;
    background-color: #fafafa;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con .elementor-icon-wrapper {
    display: inline-flex;
    width: 100%;
}

header .elementor-widget-n-menu .e-n-menu-content > .e-con svg {
    max-height: 32px;
}

@media all and (min-width: 992px) {
    header .elementor-widget-n-menu .e-n-menu-content>.e-con.e-active {
        animation: submenuUp 0.28s cubic-bezier(0.22, 1, 0.36, 1) both;
        will-change: opacity, transform;
    }

    @keyframes submenuUp {
        from {
            opacity: 0;
            transform: translateY(3rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}
/* END Header */

/* Header mobile */
.menuIcon__line{
  fill: currentColor;
  transform-box: fill-box;
  transform-origin: center;
  transition:
    transform 420ms cubic-bezier(0.77, 0, 0.175, 1),
    opacity   200ms ease;
}

button[aria-expanded="true"] .menuIcon__line--top{
  transform: translateY(8px) rotate(45deg);
}

button[aria-expanded="true"] .menuIcon__line--mid{
  opacity: 0;
  transform: scaleX(0);
}

button[aria-expanded="true"] .menuIcon__line--bot{
  transform: translateY(-8px) rotate(-45deg);
}

header .elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] .e-open {
    opacity: 1;
}

header .elementor-widget-n-menu .e-n-menu-toggle span.e-close {
    display: none;
}
/* Header mobile */

/* Home */
.section_home-header {
    /* background-color: #fafafa; */
    /* -webkit-backdrop-filter: blur(24px); */
    /* backdrop-filter: blur(24px); */
    justify-content: center;
    align-items: center;
    min-height: 100svh;
    display: flex;
    overflow: hidden;
}

.header_wrapper {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
}

.header_visual-wrapper {
    width: 100%;
    height: 100%;
    padding-top: 100%;
    position: relative;
}

.header_visual {
    perspective: none;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    position: absolute;
    inset: 0%;
}

.app-icons_wrapper {
    position: relative;
    overflow: visible;
    transform-style: preserve-3d;
}
 
.app-icons_wrapper .app-icon_sparteo,
.app-icons_wrapper .app-icon_actirise,
.app-icons_wrapper .app-icon_fastcmp,
.app-icons_wrapper .app-icon_meetscale,
.app-icons_wrapper .app-icon_viously,
.app-icons_wrapper .app-icon_bababam {
  will-change: transform, opacity;
  transform-origin: 50% 50%;
  opacity: 1;
  transition: none !important;
  backface-visibility: hidden;
}

/* Départ presque à 0, mais pas exactement 0 */
.app-icons_wrapper .app-icon_sparteo   { transform: translateY(250%)  scale(0.001); }
.app-icons_wrapper .app-icon_actirise  { transform: translateY(150%)  scale(1); opacity: 0; }
.app-icons_wrapper .app-icon_fastcmp   { transform: translateY(50%)   scale(1); opacity: 0; }
.app-icons_wrapper .app-icon_meetscale { transform: translateY(-50%)  scale(1); opacity: 0; }
.app-icons_wrapper .app-icon_viously   { transform: translateY(-150%) scale(1); opacity: 0; }
.app-icons_wrapper .app-icon_bababam   { transform: translateY(-250%) scale(1); opacity: 0; }

.app-icon_sparteo {
    z-index: 6;
}

.app-icon_actirise {
    z-index: 5;
}

.app-icon_fastcmp {
    z-index: 4;
}

.app-icon_meetscale {
    z-index: 3;
}

.app-icon_viously {
    z-index: 2;
}

.app-icon_bababam {
    z-index: 1;
}

/* Accessibilité : pas d'animation → affichage direct en place */
@media (prefers-reduced-motion: reduce) {
  .app-icons_wrapper .app-icon_sparteo,
  .app-icons_wrapper .app-icon_actirise,
  .app-icons_wrapper .app-icon_fastcmp,
  .app-icons_wrapper .app-icon_meetscale,
  .app-icons_wrapper .app-icon_viously,
  .app-icons_wrapper .app-icon_bababam {
    opacity: 1 !important;
    transform: none !important;
  }
}

.header_visual_vignette {
    z-index: 9;
    background-image: radial-gradient(circle,#fff,#fff0 60%);
    border-radius: 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
}

.sparteo-stripe-1,
.sparteo-stripe-2,
.sparteo-stripe-3,
.sparteo-stripe-4,
.sparteo-stripe-5 {
    will-change: transform, opacity, width;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.stripe-1 {
    width: 100%;
    height: 12.5rem;
    transform: skewY(-30deg);
}

.stripe-1.sparteo-stripe-1 {
    width: 50%;
    height: 30%;
    position: absolute;
    inset: 10% auto auto 0%;
    /* width: 0; */
    /* transform: translate(50%, 50%) skewY(0deg); */
    transform: skewY(-30deg);
}

.stripe-4 {
    width: 50%;
    height: 12.5rem;
    position: absolute;
    inset: 20% auto auto -10%;
    top: 20%;
    transform: skewY(-30deg);
}

.stripe-4.sparteo-stripe-4 {
    height: 30%;
    top: 35%;
    opacity: 0;
    /* transform: translate(100%, -80%) skewY(-20deg); */
}

.stripe-2 {
    width: 100%;
    height: 12.5rem;
    transform: skewY(-30deg);
}

.stripe-2.sparteo-stripe-2 {
    height: 30%;
    position: absolute;
    /* width: 0; */
    transform: skewY(-20deg);
}

.stripe-3 {
    width: 50%;
    height: 12.5rem;
    position: absolute;
    inset: auto 0% -15% auto;
    bottom: -15%;
    transform: skewY(-30deg);
}

.stripe-3.sparteo-stripe-3 {
    height: 30%;
    bottom: 10%;
    /* width: 0; */
    /* transform: translate(-50%, -50%) skewY(0deg); */
}

.stripe-5 {
    width: 50%;
    height: 12.5rem;
    position: absolute;
    inset: auto -10% 20% auto;
        bottom: 20%;
    transform: skewY(-30deg);
}

.stripe-5.sparteo-stripe-5 {
    height: 30%;
    bottom: 35%;
    opacity: 0;
    /* transform: translate(-50%, 30%) skewY(-20deg); */
}

.stripe-1::before,
.stripe-2::before,
.stripe-3::before,
.stripe-4::before,
.stripe-5::before {
    content: "";
    display: block;
    background-image: url('./assets/img/home/noise.png');
    background-repeat: repeat;
    mix-blend-mode: overlay;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.1;
    pointer-events: none;
    z-index: -1;
}

.sparteo-stripe-1 {
    background: url(), linear-gradient(90deg, #47C2FF -15.42%, rgba(5, 232, 218, 0.3) 42.89%, rgba(128, 255, 140, 0) 100%);
    background-blend-mode: soft-light, normal;
    opacity: 0.5;
}

.sparteo-stripe-2 {
    background: url(), linear-gradient(90deg, rgba(153, 255, 235, 0.3) 0%, rgba(196, 211, 255, 0) 49.83%, #F9ECFF 100%);
    background-blend-mode: soft-light, normal;
}

.sparteo-stripe-3 {
    background: url(), linear-gradient(270deg, #9C1FFF 0%, rgba(31, 215, 255, 0.3) 48.44%, rgba(66, 255, 244, 0) 100%);
    background-blend-mode: soft-light, normal;
    opacity: 0.8;
}

.sparteo-stripe-4 {
    background: url(), linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(191, 217, 255, 0.3) 50%, #C1C1FF 100%);
    background-blend-mode: soft-light, normal;
}

.sparteo-stripe-5 {
    background: url(), linear-gradient(90deg, rgba(155, 255, 165, 0) 0%, rgba(155, 255, 249, 0.3) 50%, #BFEAFF 100%);
    background-blend-mode: soft-light, normal;
    opacity: 0.5;
}

/* ============================================================
   STRIPES HERO — Animation pure CSS (compositor thread)
   Remplace tout GSAP pour les stripes
   easeInOutQuart = cubic-bezier(0.76, 0, 0.24, 1)
   ============================================================ */

/* ── États initiaux (cachés avant animation) ── */

.sparteo-stripe-1 {
  transform-origin : 0 0;
  clip-path        : inset(0 100% 0 0);
  transform        : translate3d(0, 50%, 0) skewY(0deg);
  will-change      : transform, clip-path;
}

.sparteo-stripe-2 {
  width       : 0;
  transform   : skewY(-20deg);
  will-change : transform, width;
}

.sparteo-stripe-3 {
  clip-path   : inset(0 0% 0 100%);
  transform   : translate3d(0, -50%, 0) skewY(0deg);
  will-change : transform, clip-path;
}

.sparteo-stripe-4 {
  opacity     : 0;
  transform   : translate3d(100%, -80%, 0) skewY(-20deg);
  will-change : transform, opacity;
}

.sparteo-stripe-5 {
  opacity     : 0;
  transform   : translate3d(-50%, 30%, 0) skewY(-20deg);
  will-change : transform, opacity;
}


/* ── Keyframes ── */

/* Stripe 1 — Phase 1 (1200ms) : clip gauche→droite + glissement X 0→+50%
              Phase 2 (1600ms) : retour X +50→0 + skewY 0→-30° */
@keyframes s1-clip {
  from { clip-path: inset(0 100% 0 0); }
  to   { clip-path: inset(0   0% 0 0); }
}
@keyframes s1-transform {
  0% {
    transform: translate3d(  0%, 50%, 0) skewY(  0deg);
    animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  }
  42.86% { /* pivot : 1200ms / 2800ms */
    transform: translate3d( 50%, 50%, 0) skewY(  0deg);
    animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  }
  100% {
    transform: translate3d(  0%, 50%, 0) skewY(-30deg);
  }
}

/* Stripe 2 — skewY -20→-30 + width 0→100% */
@keyframes s2-transform {
  from { transform: skewY(-20deg); }
  to   { transform: skewY(-30deg); }
}
@keyframes s2-width {
  from { width: 0%; }
  to   { width: 100%; }
}

/* Stripe 3 — miroir de stripe 1
              Phase 1 (1200ms) : clip droite→gauche + glissement X 0→-50%
              Phase 2 (1600ms) : retour X -50→0 + skewY 0→-30° */
@keyframes s3-clip {
  from { clip-path: inset(0 0% 0 100%); }
  to   { clip-path: inset(0 0% 0   0%); }
}
@keyframes s3-transform {
  0% {
    transform: translate3d(   0%, -50%, 0) skewY(  0deg);
    animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  }
  42.86% { /* pivot : 1200ms / 2800ms */
    transform: translate3d( -50%, -50%, 0) skewY(  0deg);
    animation-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  }
  100% {
    transform: translate3d(   0%,   0%, 0) skewY(-30deg);
  }
}

/* Stripe 4 — X 100→0 + Y -80→0 + skewY -20→-30 + opacity 0→1 */
@keyframes s4 {
  from { transform: translate3d(100%, -80%, 0) skewY(-20deg); opacity: 0; }
  to   { transform: translate3d(  0%,   0%, 0) skewY(-30deg); opacity: 1; }
}

/* Stripe 5 — X -50→0 + Y 30→0 + skewY -20→-30 + opacity 0→1 */
@keyframes s5 {
  from { transform: translate3d(-50%,  30%, 0) skewY(-20deg); opacity: 0; }
  to   { transform: translate3d(  0%,   0%, 0) skewY(-30deg); opacity: 1; }
}


/* ── Déclenchement : ajout de .is-animated par JS ── */

.sparteo-stripe-1.is-animated {
  animation:
    s1-clip       1200ms cubic-bezier(0.76, 0, 0.24, 1) both,
    s1-transform  2800ms linear                         both;
}

.sparteo-stripe-2.is-animated {
  animation:
    s2-transform  1600ms cubic-bezier(0.76, 0, 0.24, 1) 1200ms both,
    s2-width      1600ms cubic-bezier(0.76, 0, 0.24, 1) 1400ms both;
}

.sparteo-stripe-3.is-animated {
  animation:
    s3-clip       1200ms cubic-bezier(0.76, 0, 0.24, 1) both,
    s3-transform  2800ms linear                         both;
}

.sparteo-stripe-4.is-animated {
  animation: s4  1600ms cubic-bezier(0.76, 0, 0.24, 1) 1400ms both;
}

.sparteo-stripe-5.is-animated {
  animation: s5  1600ms cubic-bezier(0.76, 0, 0.24, 1) 1400ms both;
}


/* ── Accessibilité ── */
@media (prefers-reduced-motion: reduce) {
  .sparteo-stripe-1.is-animated,
  .sparteo-stripe-2.is-animated,
  .sparteo-stripe-3.is-animated,
  .sparteo-stripe-4.is-animated,
  .sparteo-stripe-5.is-animated {
    animation: none;
  }
}

/* .header_content.e-con {
    width: 100%;
    max-width: 50rem;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    text-align: center;
    flex-direction: column;
    align-items: center;
    margin-top: 64px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    position: relative;
} */

.section_wordpress-header .header_content.e-con {
    margin-top: 0;
}

.header-bg {
    position: static;
}

.header-bg img {
    z-index: -2;
    opacity: .9;
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    inset: 0%;
    top: 0%;
}

.header-lottie,
.header-lottie .e-lottie__container {
    position: static;
}

.header-lottie .e-lottie__animation {
    z-index: -1;
    mix-blend-mode: multiply;
    margin-left: auto;
    margin-right: auto;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    position: absolute;
    inset: 0%;
}

.awards_logo {
    display: flex;
}

.awards_logo img {
    display: flex;
    width: auto !important;
    max-width: 12.5rem;
    max-height: 3rem;
}

.section_home-publishers {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background-color: #000;
    background-image: url('./assets/img/home/glow.webp');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
    overflow: hidden;
}

.sparteo-icon-glass-wrapper {
    width: 6rem;
    height: 6rem;
}

.sparteo-icon-glass-wrapper .elementor-widget-image {
    position: absolute;
}

.sparteo-icon-glass {
    mix-blend-mode: color-dodge;
    background-color: #000;
    background-image: linear-gradient(315deg,#b8b8b8,#fff);
    border: 1px #ccc;
    border-radius: 24px;
    justify-content: center;
    align-items: center;
    width: 6rem;
    height: 6rem;
    padding: 0;
    display: flex;
    position: relative;
}

.sparteo-icon-glass-effect {
    background-color: #000;
    background-image: none;
    border-radius: 24px;
    justify-content: center;
    align-items: center;
    width: 5.875rem;
    height: 5.875rem;
    display: flex;
    position: static;
    inset: 0%;
}

.section_home-features {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background-color: #fafafa;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
}

.features_row {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr
}

.features_grid {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    display: grid
}

.features_item {
    background-color: #fff;
    border-radius: 1.5rem;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 12px 24px #7930000d
}

.features_item.is-gradient-purple {
    color: #fff;
    background-image: linear-gradient(35deg, #5b71ff, #956eff)
}

.features_item.is-black {
    color: #fff;
    background-color: #000
}

.features_item.is-gradient-pink {
    color: #fff;
    background-image: linear-gradient(35deg, #ff7171, #f067d8)
}

.features_item-top {
    text-align: left;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 2rem;
    display: flex
}

.features_item-description {
    opacity: .4
}

.features_item-description.is-white {
    opacity: .75
}

.maximize-impression {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background-image: linear-gradient(135deg, #fff3, #fff0);
    border-radius: 1rem;
    justify-content: space-between;
    min-height: 10.6rem;
    padding: 1.5rem;
    display: flex;
    position: relative;
    box-shadow: 0 0 0 1px #ffffff26;
}

.boost-conversion_column {
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
    display: flex;
}

.boost-conversion_column-top {
    background-color: #fff;
    width: 100%;
    height: 2px;
}

.boost-conversion_column-grow {
    background-color: #fff3;
    width: 100% !important;
    transition: height 1200ms ease-in-out;
}

.boost-conversion_column-grow.is-2 {
    height: 1rem
}

.boost-conversion_column-grow.is-3 {
    height: 2.5rem
}

.boost-conversion_column-grow.is-4 {
    height: 4rem
}

.boost-conversion_column-grow.is-5 {
    height: 5.5rem
}

body:not(.maximize-impression-visible) .boost-conversion_column-grow {
    height: 0 !important;
}

.max-impression-icon {
    position: absolute;
    inset: 1.5rem auto auto 1.5rem;
}

.real-time {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    flex-direction: column;
    display: flex
}

.realt-time_head {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    font-size: .75rem;
    font-weight: 500;
    line-height: 1.4;
    display: grid
}

.realt-time_head > .elementor-element {
    grid-area: span 1/span 1/span 1/span 1;
}

.realt-time_head > .elementor-element:nth-child(2) {
    grid-area: span 1/span 1/span 1/span 1;
    justify-self: start;
}

.realt-time_head > .elementor-element:last-child {
    grid-area: span 1/span 1/span 1/span 1;
    justify-self: end;
}

.realt-time_row {
    grid-column-gap: .25rem;
    grid-row-gap: .25rem;
    background-image: linear-gradient(135deg, #fff3, #fff0);
    border-radius: .75rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    align-items: center;
    padding: 1rem;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.4;
    display: grid;
    box-shadow: 0 0 0 1px #fff3
}

.real-time_cell {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
    align-items: center;
    display: flex
}

.section_home-products {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background-color: #fafafa;
    /* padding-top: 7.5rem; */
    /* padding-bottom: 7.5rem; */
}

.section_home-products:has(#active-effect[aria-selected="true"]) {
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
}

.products-tabs_content .e-n-tabs-heading {
    /* background-color: #0000000a; */
    /* border-radius: 2rem; */
    justify-content: space-between;
    width: 100%;
    /* max-width: 32rem; */
    margin-left: auto;
    margin-right: auto;
    display: flex;
    overflow: hidden;
}

.section_home-products:has(#active-effect[aria-selected="true"]) .products-tabs_content .e-n-tabs-heading {
    background-color: rgba(255, 255, 255, 0.1);
}

.products-tabs_content .e-n-tabs-heading .e-n-tab-title {
    flex: 1;
    background-color: initial;
}

.section_home-products:has(#active-effect[aria-selected="true"]) .elementor-widget-n-tabs .e-n-tab-title[aria-selected="false"] {
    color: #fff;
}

.section_home-products:has(#active-effect[aria-selected="true"]) .elementor-widget-n-tabs .e-n-tab-title#active-effect {
    color: #000;
}

.products-tabs_content.elementor-widget-n-tabs [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover {
    color: initial;
}

.products-tabs_content.elementor-widget-n-tabs .e-n-tab-title:hover,
.products-tabs_content.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
    background-color: transparent !important;
    color: #000;
}

.products-tabs_content.elementor-widget-n-tabs .e-n-tab-title svg {
    color: #e0e0e0;
}

.products-tabs_content.elementor-widget-n-tabs .e-n-tab-title:hover svg,
.products-tabs_content.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] svg {
    color: #0000;
}

/* .products-tabs_content.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"]::before {
    content: '';
    background-image: linear-gradient(35deg,#0093fd,#5b71ff 33%,#956eff 66%,#f067d8);
    border-radius: 2rem;
    position: absolute;
    inset: 0%;
    z-index: -1;
} */

.products-tabs_content .e-n-tabs-content {
    padding: 0;
    /* border-radius: 1.5rem; */
    border-radius: 3rem;
    /* box-shadow: 0 12px 24px #7930001a; */
}

.w-tab-content .e-n-tabs-content {
    display: block;
    position: relative;
    overflow: hidden;
}

.product-grid {
    grid-column-gap: 5rem;
    grid-row-gap: 5rem;
    background-color: #fff;
    grid-template-rows: auto;
    /* padding: 5rem; */
    padding: 0;
    position: relative;
    box-shadow: 0 12px 24px #7930000d;
}

.solutions-tabs_menu {
    border: 1px #000;
    border-bottom-color: #0000001a;
    flex-wrap: wrap;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-left: auto;
    display: grid !important;
    right: 0;
    overflow: scroll;
    box-shadow: inset 0 -1px #0000001a;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

.solutions-tabs_menu::-webkit-scrollbar {
    display: none;
}

.elementor .solutions-tabs_menu .e-tab-base {
    transition: all .3s;
}

.elementor .solutions-tabs_menu .e-tab-base svg {
    transition: all .3s;
}

.elementor .solutions-tabs_menu .e-tab-base:hover svg {
    color: #0000;
    /* transition: all .3s; */
}

.elementor .solutions-tabs_menu .e-tab-base.e--selected svg {
    color: #0000;
}

/* TABS — Animation */
@keyframes tab-enter {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0) scale3d(0.97, 0.97, 1);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    }
}

.e-tab-content-base.tab-enter {
    animation: tab-enter 600ms cubic-bezier(0.25, 0.1, 0.25, 1) both;
    transform-style: preserve-3d;
}

@media (prefers-reduced-motion: reduce) {
    .e-tab-content-base.tab-enter {
        animation: none;
    }
}

.solutions-tabs .e-tab-content-base {
    padding: 0;
}

.e-tabs-content-area-base {
    position: relative;
}

.e-tabs-content-area-base.sparteo-tab-locked {
    overflow: hidden;
}

.e-tabs-content-area-base>.e-tab-content-base {
    will-change: opacity;
}

.e-tabs-content-area-base>.e-tab-content-base>.solutions-tabs_content-grid {
    display: grid;
    transform-style: preserve-3d;
    transform-origin: 50% 50%;
    will-change: opacity, transform;
}

.e-tabs-content-area-base>.e-tab-content-base.sparteo-tab-leave {
    display: block !important;
    animation: sparteoPaneOut 450ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.e-tabs-content-area-base>.e-tab-content-base.sparteo-tab-leave>.solutions-tabs_content-grid {
    animation: sparteoContentOut 450ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.e-tabs-content-area-base>.e-tab-content-base.sparteo-tab-enter {
    display: block !important;
    animation: sparteoPaneIn 850ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.e-tabs-content-area-base>.e-tab-content-base.sparteo-tab-enter>.solutions-tabs_content-grid {
    animation: sparteoContentIn 850ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes sparteoPaneOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes sparteoContentOut {
    from {
        opacity: 1;
        transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }

    to {
        opacity: 0;
        transform: translate3d(0px, 0px, 0px) scale3d(0.94, 0.94, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }
}

@keyframes sparteoPaneIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes sparteoContentIn {
    from {
        opacity: 0;
        transform: translate3d(0px, 0px, 0px) scale3d(0.94, 0.94, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }

    to {
        opacity: 1;
        transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .e-tabs-content-area-base>.e-tab-content-base,
    .e-tabs-content-area-base>.e-tab-content-base>.solutions-tabs_content-grid {
        animation: none !important;
        transition: none !important;
    }
}
/* END TABS — Animation */

.solutions-tabs_content-grid {
    grid-column-gap: 0rem;
    grid-row-gap: 0rem;
    background-color: #fff;
    /* border-radius: 3rem; */
    grid-template-rows: min-content;
    grid-template-columns: .5fr 1fr;
    position: relative;
    overflow: visible;
}

.solutions-tabs_link-underline {
    opacity: 1;
    background-color: #000;
    height: 2px;
    position: absolute;
    inset: auto 0% 0%;
    transform: translate3d(0%, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    transition: transform 0.4s cubic-bezier(0.76, 0, 0.24, 1);
}

.solutions-tabs_menu:has([id="9bb5011-tab-0"].e--selected)
  .e-tab-base:nth-child(1)
  .solutions-tabs_link-underline {
  transform: translate3d(0%, 0px, 0px);
}

.solutions-tabs_menu:has([id="9bb5011-tab-1"].e--selected)
  .e-tab-base:nth-child(1)
  .solutions-tabs_link-underline {
  transform: translate3d(100%, 0px, 0px);
}

.solutions-tabs_menu:has([id="9bb5011-tab-2"].e--selected)
  .e-tab-base:nth-child(1)
  .solutions-tabs_link-underline {
  transform: translate3d(200%, 0px, 0px);
}

.solutions-tabs_menu:has([id="9bb5011-tab-3"].e--selected)
  .e-tab-base:nth-child(1)
  .solutions-tabs_link-underline {
  transform: translate3d(300%, 0px, 0px);
}

.solutions-tabs_menu:has([id="9bb5011-tab-4"].e--selected)
  .e-tab-base:nth-child(1)
  .solutions-tabs_link-underline {
  transform: translate3d(400%, 0px, 0px);
}

.section_home-products:has(#active-effect[aria-selected="true"]) .product-grid {
    background-color: rgba(255, 255, 255, 0.098);
}

.product-grid_left, .product-grid_right {
    z-index: 1;
    flex-direction: column;
    display: flex;
    position: relative;
}

.feature_frame {
    aspect-ratio: 16/12;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    background-color: #0000000d;
    border: 1px solid #0000000d;
    border-radius: 1.5rem;
    padding: .5rem;
    box-shadow: 0 32px 64px #0000000d,0 16px 32px #0000000d,0 8px 16px #0000000d;
}

/* .feature_bg {
    z-index: 0;
    width: 60%;
    position: absolute;
    inset: auto auto 0% 0%;
} */

.w-background-video {
    color: #fff;
    height: 500px;
    position: relative;
    overflow: hidden;
}

.w-background-video video {
    object-fit: cover;
    z-index: -100;
    background-position: 50%;
    background-size: cover;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: -100%;
}

.feature_video {
    border-radius: 1rem;
    width: 100%;
    height: 100%;
}

.fix-corners {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.section_contact-us {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    text-align: center;
    background-color: #fafafa;
    flex-direction: column;
    display: flex;
}

.contact_component {
    position: relative;
    z-index: 0;
    isolation: isolate;
}

.contact_component_background {
    z-index: -1;
    background-image: url('./assets/img/general/contact-bg.avif');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    inset: 0%;
}

.contact-stripe-1 {
    z-index: 3;
    position: absolute;
    inset: 5% auto auto -25%;
}

.contact-stripe-2 {
    z-index: 3;
    position: absolute;
    inset: auto 5% -50% auto;
}

/* .pre-footer_component {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    display: grid;
} */
/* END Home */

/* Page - Mission */
.elementor-button .elementor-button-icon svg {
    width: auto;
}

.elementor-button:hover {
    opacity: .8;
}

.sparteo-font-gradient span {
    background: linear-gradient(270deg, rgba(66, 210, 255, 0.5) 0%, rgba(31, 40, 255, 0.5) 50%, #9C1FFF 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

/* .section_wordpress-header {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    color: #000;
    background-color: #fafafa;
    background-image: none;
    background-repeat: repeat;
    background-size: auto;
    justify-content: center;
    align-items: center;
    height: 100vh;
    padding-top: 16rem;
    padding-bottom: 16rem;
    display: flex;
} */

.section_mission-header {
    background-color: var(--light-grey);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    /* flex-direction: column; */
    /* justify-content: center; */
    /* align-items: center; */
    /* padding-top: 12rem; */
    /* padding-bottom: 7.5rem; */
    /* position: relative; */
}

.sparteo-icon_white {
    border-radius: 2rem;
    box-shadow: 0 16px 32px #0000001a;
}

.mission-header_wrapper > .e-con-inner {
    position: relative;
}

.mission-stripe-1 {
    z-index: -1;
    width: 50%;
    height: 45%;
    position: absolute;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(191, 217, 255, 0.3) 48.44%, #B3B3FF 100%);
    inset: 0% auto auto -15%;
    transform: skewY(-30deg);
}

.mission-stripe-2 {
    z-index: -1;
    width: 50%;
    height: 45%;
    position: absolute;
    background: linear-gradient(90deg, rgba(155, 255, 165, 0) 0%, rgba(155, 255, 249, 0.3) 50.52%, #9DDEFF 100%);
    inset: auto -15% -15% auto;
    transform: skewY(-30deg);
}

.team-collection_card {
    color: #000;
    background-image: linear-gradient(#ffffffb3,#ffffff59);
    box-shadow: inset 0 1px #fff;
}

.team-collection_card:hover {
    color: #000;
}

.team-collection_card-image_wrapper {
    /* border-radius: 1rem; */
    /* padding-top: 66.66%; */
    /* position: relative; */
    /* overflow: hidden; */
}

.fix-corners {
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

.team-collection_card-top {
    font-family: 'Klarheit Kurrent', sans-serif;
}

.gradient-overlay {
    z-index: 3;
    opacity: .5;
    mix-blend-mode: color;
    background-image: linear-gradient(60deg,#42d1ff,#1f29ff80 50%,#9c1fff80);
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
}

.team-collection_card-image {
    position: relative;
}

.team-colection_card-image {
    /* z-index: 0; */
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
}

.d2d_grid {
    grid-column-gap: 9rem;
    grid-row-gap: 9rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1.25fr;
}

.d2d_left-image_wrapper {
    z-index: 3;
    border-radius: 1.5rem;
    /* margin-top: 5.5rem; */
    padding-top: 70%;
    position: relative;
    overflow: hidden;
}

/* .gradient-overlay {
    z-index: 3;
    opacity: .5;
    mix-blend-mode: color;
    background-image: linear-gradient(60deg,#42d1ff,#1f29ff80 50%,#9c1fff80);
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
} */

.d2d_left-image {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
    transform: scale(1.1);
    transform-origin: center center;
    will-change: transform;
}

.d2d_left-image.is-visible {
    animation: d2d-left-image-scale 2s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes d2d-left-image-scale {
    from {
        transform: scale(1.1);
    }

    to {
        transform: scale(1);
    }
}

.gradient-shadow {
    /* z-index: -1; */
    width: auto;
    opacity: .6;
    position: absolute;
    inset: 5% 5% -5%;
    background: linear-gradient(225.14deg, #FF4444 9.77%, #703EFF 34.97%, #2DA7FF 62.7%, #00F5E4 90.43%);
    filter: blur(64px);
    border-radius: 224px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
}

.d2d_timeline {
    width: 2px;
    /* height: 100%; */
    height: 0;
    /* z-index: -1; */
    background-image: linear-gradient(#9c1fff,#1f28ff80 35%,#42d2ff 70%,#42d2ff00);
    width: 2px;
    height: 100%;
    position: absolute;
    inset: 0% auto 0% .7rem;
}

.d2d_timeline.is-visible {
    animation: d2d-timeline-height 1s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes d2d-timeline-height {
    from {
        height: 0;
    }

    to {
        height: 100%;
    }
}

.d2d_timeline-item {
    opacity: 0;
    z-index: 10;
}

.d2d_timeline-item.is-visible {
    animation: d2d-timeline-item-fade 1s ease forwards;
}

.d2d_timeline-item.is-2.is-visible {
    animation-delay: .2s;
}

.d2d_timeline-item.is-3.is-visible {
    animation-delay: .4s;
}

.d2d_timeline-item.is-4.is-visible {
    animation-delay: .6s;
}

.d2d_timeline-item.is-5.is-visible {
    animation-delay: .8s;
}

.d2d_timeline-item.is-6.is-visible {
    animation-delay: 1s;
}

@keyframes d2d-timeline-item-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.change_component_top {
    /* max-width: 49rem; */
    /* max-width: 52.562rem; */
    width: auto;
}

.change_component_top > div {
    /* width: 15%; */
    width: auto;
    aspect-ratio: 1 / 1;
}

.change-icon_sparteo {
    z-index: 6;
    -webkit-backdrop-filter: blur(32px);
    backdrop-filter: blur(32px);
    background-color: #00000026;
    background-image: linear-gradient(135deg,#fff0,#ffffff1a);
    border-radius: 27%;
    flex: none;
    justify-content: center;
    align-items: center;
    width: 7.5rem !important;
    height: 7.5rem !important;
    height: auto;
    display: flex;
    position: relative;
    box-shadow: 0 16px 32px #00000026,inset 0 1px 1px #ffffff4d;
}

.change-icon_sparteo > div {
    width: 52%;
}

/* .change-icon_sparteo img {
    aspect-ratio: 1 / 1;
} */

.change-icon_sparteo {
    transform: translateX(240%);
    will-change: transform;
}

.change-icon_sparteo.is-visible {
    animation: change-icon-sparteo-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-sparteo-move {
    from {
        transform: translateX(240%);
    }

    to {
        transform: translateX(0%);
    }
}

.change-icon_actirise {
    z-index: 5;
}

.change-icon_fastcmp {
    z-index: 4;
}

.change-icon_viously {
    z-index: 2;
}

.change-icon_meetscale {
    transform: translateX(-60%);
    will-change: transform;
}

.change-icon_meetscale.is-visible {
    animation: change-icon-meetscale-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-meetscale-move {
    from {
        transform: translateX(-60%);
    }

    to {
        transform: translateX(0%);
    }
}

.change-icon_voxeus {
    transform: translateX(-260%);
    will-change: transform;
}

.change-icon_voxeus.is-visible {
    animation: change-icon-voxeus-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-voxeus-move {
    from {
        transform: translateX(-260%);
    }

    to {
        transform: translateX(0%);
    }
}

.change-icon_viously {
    transform: translateX(-160%);
    will-change: transform;
}

.change-icon_viously.is-visible {
    animation: change-icon-viously-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-viously-move {
    from {
        transform: translateX(-160%);
    }

    to {
        transform: translateX(0%);
    }
}

.change-icon_actirise {
    transform: translateX(140%);
    will-change: transform;
}

.change-icon_actirise.is-visible {
    animation: change-icon-actirise-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-actirise-move {
    from {
        transform: translateX(140%);
    }

    to {
        transform: translateX(0%);
    }
}

.change-icon_fastcmp {
    transform: translateX(40%);
    will-change: transform;
}

.change-icon_fastcmp.is-visible {
    animation: change-icon-fastcmp-move 2.4s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

@keyframes change-icon-fastcmp-move {
    from {
        transform: translateX(40%);
    }

    to {
        transform: translateX(0%);
    }
}

.change_card {
    opacity: 0;
    transform: translateY(2rem);
    will-change: opacity, transform;
}

.change_card.is-visible {
    animation: change-card-slide-in 0.8s ease forwards;
}

.change_card.is-1.is-visible {
    animation-delay: 0s;
}

.change_card.is-2.is-visible {
    animation-delay: 0.1s;
}

.change_card.is-3.is-visible {
    animation-delay: 0.2s;
}

.change_card.is-4.is-visible {
    animation-delay: 0.3s;
}

@keyframes change-card-slide-in {
    from {
        opacity: 0;
        transform: translateY(2rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section_mission-change {
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background-color: #000;
    background-image: linear-gradient(#0000004d,#0000004d),url('./assets/img/home/glow.webp');
    background-position: 0 0,50%;
    background-repeat: repeat,no-repeat;
    background-size: auto,cover;
    background-attachment: scroll,fixed;
    overflow: hidden;
}

.people-image_container .e-con-inner {
    position: relative;
}

.people-image_container .gradient-shadow {
    width: auto;
}

.people-image_wrapper {
    z-index: 3;
    border-radius: 1.5rem;
    /* margin-top: 7.5rem; */
    /* margin-bottom: 2.5rem; */
    /* padding-top: 50%; */
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(10rem);
    will-change: opacity, transform;
}

.people-image_wrapper.is-visible {
    animation: people-image-slide-in 0.8s ease forwards;
}

@keyframes people-image-slide-in {
    from {
        opacity: 0;
        transform: translateY(10rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.mono-overlay {
    z-index: 2;
    opacity: .7;
    mix-blend-mode: saturation;
    background-color: #000;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
}

.people-image {
    z-index: 1;
    background-image: url('./assets/img/mission/people-2.webp');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    display: none;
    position: absolute;
    inset: 0%;
}

.people-video {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0%;
}

.people-stripes {
    /* z-index: -2; */
    width: 125%;
    max-width: 73.5rem !important;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    inset: -50% auto 15% -12%;
}

.section_mission-pillars.background-color-black {
    background-color: #000;
    background-image: linear-gradient(#0003,#0003),url('./assets/img/mission/glow.webp');
    background-position: 0 0,50%;
    background-repeat: repeat,no-repeat;
    background-size: auto,cover;
    background-attachment: scroll,fixed;
}

.pillars_grid {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: .5fr 1fr;
    align-items: start;
    position: relative;
}

.pillars_menu-list a {
    border-left: 2px solid #fff0;
    padding: .75rem 1.5rem;
    color: #FFFFFF80;
    font-size: 1.25rem;
    text-decoration: none;
    transition: color .2s, border-color .2s;
}

.pillars_menu-list a.current {
    color: #fff;
    border-left-color: #fff;
}

.pillars_menu-list a:hover {
    color: #fff;
}

.pillar_title-line {
    mix-blend-mode: color-dodge;
    background-color: #b8b8b8;
    width: 2px;
    height: 100%;
    position: absolute;
    inset: 0% auto 0% 0%;
}

.pillar_list-wrapper .elementor-icon-list-item {
    grid-row-gap: 1.5rem;
    grid-column-gap: 1.5rem;
}

.pillar_list-wrapper .elementor-icon-list-item::before {
    content: '';
    position: relative;
    top: 1px;
    flex: 0 0 .5rem;
    display: block;
    width: .5rem;
    height: .5rem;
    /* margin: 8px; */
    background-color: #b8b8b8;
    mix-blend-mode: color-dodge;
}
/* END Page - Mission */

/* Page - Corporate Responsibility */
.cr-header_background {
    position: absolute;
    inset: -15% 0% 0%;
    z-index: -1;
}

.cr_grid {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: .75fr 1.25fr;
    /* align-items: start; */
    /* padding-top: 7.5rem; */
    /* padding-bottom: 7.5rem; */
    position: relative;
    grid-auto-columns: 1fr;
}

.cr_left-content {
    position: sticky;
    top: 7.5rem;
    width: fit-content;
}

.cr_collection-list {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
}

.cr_item-thumnail_wrapper {
    width: 100%;
    padding-top: 60%;
    position: relative;
}

.cr_item-thumbnail {
    background-color: #fafafa;
    background-position: 50%;
    background-size: cover;
    border-radius: 1rem;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 1.5rem;
    display: flex;
    position: absolute;
    inset: 0%;
    box-shadow: 0 16px 32px #0000001a;
}

.cr_item-kpi {
    color: #fff;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: flex;
}

.cr_item-logo {
    display: flex;
    align-items: center;
    height: inherit;
}

.cr_item-logo img {
    width: auto;
    max-height: 70%;
}

.cr_rich-text strong {
    color: #000;
}

.cr_gradient-line {
    z-index: 10;
    height: 2px;
    position: absolute;
    inset: auto 0% 0%;
    background: linear-gradient(270deg, rgba(110, 221, 255, 0.25) 0%, rgba(113, 118, 255, 0.5) 25%, #BF6EFF 50%, rgba(110, 116, 255, 0.5) 75%, rgba(113, 221, 255, 0.25) 100%);
}
/* END Page - Corporate Responsibility */

/* Page policy privacy, terms of use, and other legal pages */
.legal_rich-text p, .legal_rich-text ul {
    margin-bottom: 1.5rem;
}

.legal_rich-text h3 {
    letter-spacing: -1px;
    margin-top: 0;
    margin-bottom: 1.5rem;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}

.legal_rich-text h4 {
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
}

.legal_rich-text h5 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
}

.legal_rich-text b {
    font-weight: 700;
}

.legal_rich-text strong {
    font-weight: 500;
}

.legal_rich-text ul {
    padding-left: 1.5rem;
}

.legal_rich-text li {
    margin-bottom: 1rem;
}

.legal_rich-text a {
    color: #000;
    text-decoration: underline;
}

table caption + thead tr:first-child td, table caption + thead tr:first-child th, table colgroup + thead tr:first-child td, table colgroup + thead tr:first-child th, table thead:first-child tr:first-child td, table thead:first-child tr:first-child th {
    border-block-start: none;
}

.table_component table {
    margin-block-end: 0;
    font-size: 1rem;
}

.table_component table td, .table_component table th {
    vertical-align: inherit;
}

.table_component table tbody > tr:nth-child(2n+1) > td, .table_component table tbody > tr:nth-child(2n+1) > th {
    background-color: #fff;
}

.legal_rich-text .elementor-widget-text-editor .table_component p:last-child {
    margin-bottom: 1.5rem;
}

.table_component {
    overflow: auto;
    width: 100%;
    margin-bottom: 2rem;
}

.table_component table {
    border: 1px solid #dededf;
    height: 100%;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 1px;
    text-align: left;
}

.table_component caption {
    caption-side: top;
    text-align: left;
}

.table_component thead td {
    border: 1px solid #dededf;
    background-color: #eceff1;
    color: #000000;
    padding: 5px;
}

.table_component td {
    border: 1px solid #dededf;
    background-color: #ffffff;
    color: #000000;
    padding: 5px;
}
/* END Page policy privacy, terms of use, and other legal pages */

/* Footer */
footer {
    position: relative;
    width: 100%;
    max-width: 93rem;
    margin-right: auto;
    margin-left: auto;
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    background-color: #fff;
    padding-top: 6rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    padding-bottom: 0;
    z-index: 10;
}

.footer_component {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr max-content;
    grid-auto-columns: 1fr;
    align-items: start;
    margin-bottom: 6rem;
    padding: 0;
    display: grid;
    position: relative;
}

.footer_badge--grid {
    width: fit-content;
}

.footer_badge--grid > .e-con-inner {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-end;
    align-items: flex-end;
    width: 100%;
    height: 100%;
    display: flex;
}

.footer_badge--row {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    justify-content: flex-start;
    align-items: center;
    width: 23.625rem;
    display: flex;
}

.footer_badge--logo {
    filter: grayscale();
    width: auto;
    height: 3.5rem;
}

.footer_bottom {
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding: 2rem 0;
    display: flex;
    position: relative;
}

.footer_bottom p {
    margin-bottom: 0;
}

.footer_gradient-line {
    position: absolute;
    height: 2px;
    inset: 0% 0% auto;
    background: linear-gradient(270deg, rgba(110, 221, 255, 0.25) 0%, rgba(113, 118, 255, 0.5) 25%, #BF6EFF 50%, rgba(110, 116, 255, 0.5) 75%, rgba(113, 221, 255, 0.25) 100%);
}

.social-link .elementor-icon-list-item:last-child {
    margin-right: 11px !important;
}

.social-link .elementor-icon-list-item:last-child .elementor-icon-list-icon {
    width: 2rem !important;
    height: 2rem !important;
    color: #000;
    background-color: #0000000d;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    width: 2.5rem;
    height: 2.5rem;
    /* padding-bottom: .25rem; */
    transition: background-color .2s;
    display: flex;
}

.social-link .elementor-icon-list-item:last-child .elementor-icon-list-icon svg {
    margin-right: 0;
}
/* END Footer */

/* Blog */
.elementor-widget-loop-grid.e-loading-overlay {
    animation: none !important;
    opacity: 1 !important;
}

/* Cache instantanément pendant le filtrage */
/* #post_grid_filter .e-loop-item.nl-filter-temp-hidden {
    display: none !important;
} */

.post-2059 {
    padding: 0 2.5rem;
}

.blog-header_grid > .e-con-inner {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-rows: auto;
    grid-template-columns: minmax(auto,13.5rem) 1fr;
}

.blog-header_grid .e-loop-item {
    cursor: pointer;
}

.tag-icon {
    display: flex;
    width: 2rem;
}

.news_item_date {
    opacity: .7;
    font-size: .875rem;
}

body.single-post .elementor-location-single {
    padding: 0 2.5rem;
    background-color: #fafafa;
}

.elementor-widget-taxonomy-filter .e-filter {
    position: sticky;
    top: 7rem;
}

.elementor-widget-taxonomy-filter button.e-filter-item {
    justify-content: flex-start;
    width: 100%;
    padding: 0;
    white-space: nowrap;
}

/* .elementor-widget-taxonomy-filter .e-filter-item:not([data-filter="__all"]) {
    border-left: 2px solid transparent;
} */

.elementor-widget-taxonomy-filter button.e-filter-item:not([data-filter="__all"]) {
    padding: .5rem 1rem;
    border-left: 1px solid #e0e0e0;
    box-shadow: none;
}

.elementor-widget-taxonomy-filter .e-filter-item[aria-pressed="true"]:not([data-filter="__all"]) {
    /* border-left: 2px solid #000; */
    box-shadow: inset 2px 0 0 #000;
}

.elementor-widget-taxonomy-filter .e-filter-item:hover:not([aria-pressed=true]) {
    border-color: #e0e0e0;
}

button.e-filter-item[data-filter="__all"] {
    color: #000;
    letter-spacing: -.5px;
    margin-bottom: 1rem;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
}

button.e-filter-item[data-filter="fastcmp"],
button.e-filter-item[data-filter="sparteo"] {
    display: none;
}

body:has(.e-filter .e-filter-item:not([data-filter="__all"])[aria-pressed="true"]) .post-pinned {
    display: none;
}

/* Pagination globale */
.nl-pagination-clean nav.elementor-pagination {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 2.5rem;
}

/* Cache les numéros */
.nl-pagination-clean nav.elementor-pagination .page-numbers:not(.prev):not(.next) {
    display: none !important;
}

/* Cache Previous en page 1 */
.nl-pagination-clean nav.elementor-pagination.nl-is-first-page .page-numbers.prev {
    display: none !important;
}

/* Cache Next en dernière page */
.nl-pagination-clean nav.elementor-pagination.nl-is-last-page .page-numbers.next {
    display: none !important;
}

/* Compteur */
.nl-pagination-clean nav.elementor-pagination .nl-pagination-count {
    display: inline-flex;
    align-items: center;
    color: #000;
    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
}

/* Boutons Previous / Next */
.nl-pagination-clean nav.elementor-pagination .page-numbers.prev,
.nl-pagination-clean nav.elementor-pagination .page-numbers.next {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: .5rem;

    min-height: 3rem;
    padding: 0 1.25rem;

    background: #f1f1f1;
    color: #000;
    border-radius: 999rem;

    font-size: 1rem;
    line-height: 1;
    font-weight: 400;
    text-decoration: none !important;

    transition: background-color .25s ease, transform .25s ease;
}

.nl-pagination-clean nav.elementor-pagination .page-numbers.prev:hover,
.nl-pagination-clean nav.elementor-pagination .page-numbers.next:hover {
    background: #e8e8e8;
    transform: translateY(-1px);
}

/* Icônes plus fines */
.nl-pagination-clean nav.elementor-pagination .page-numbers.next::after {
    content: "";
    width: .45rem;
    height: .45rem;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
    margin-left: .1rem;
}

.nl-pagination-clean nav.elementor-pagination .page-numbers.prev::before {
    content: "";
    width: .45rem;
    height: .45rem;
    border-left: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    margin-right: .1rem;
}

/* Ordre page 1 : 1 / 2 puis Next */
.nl-pagination-clean nav.elementor-pagination.nl-is-first-page .nl-pagination-count {
    order: 1;
}

.nl-pagination-clean nav.elementor-pagination.nl-is-first-page .page-numbers.next {
    order: 2;
}

/* Ordre dernière page : Previous puis 2 / 2 */
.nl-pagination-clean nav.elementor-pagination.nl-is-last-page .page-numbers.prev {
    order: 1;
}

.nl-pagination-clean nav.elementor-pagination.nl-is-last-page .nl-pagination-count {
    order: 2;
}
/* END Blog */

/* Single post */
body.single-post .elementor-location-single .content h2 {
    margin-bottom: 2rem;
    font-size: 2rem;
}

body.single-post .single-post-content h3 {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    letter-spacing: -1px;
}

body.single-post .elementor-location-single .content p {
    color: #000000b3;
    margin-bottom: 2rem;
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.4;
}

body.single-post .elementor-location-single .content p:last-child {
    margin-bottom: 0;
}

body.single-post .elementor-location-single .content a {
    color: #000;
    font-weight: 400;
    text-decoration: underline;
}

body.single-post .single-post-content ul {
    margin-bottom: 2rem;
    padding-left: 1.5rem;
}

body.single-post .single-post-content strong {
    color: #000;
    font-weight: 600;
}

body.single-post .single-post-content .content blockquote {
    border-left: .125rem solid #e2e2e2;
    margin-bottom: 2rem;
    margin: 0 0 10px;
    padding-left: 1.5rem;
    padding-right: 0;
}

body.single-post .single-post-content .content blockquote p {
    color: #000;
    font-family: 'Klarheit Kurrent', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
}

.elementor-share-btn__icon .e-fab-x-twitter {
    display: none;
}

.elementor-share-btn__icon:has(.e-fab-x-twitter)::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z'%3E%3C/path%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z'%3E%3C/path%3E%3C/svg%3E");
    mask-size: contain;
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
}

.elementor-share-btn__icon .e-fab-linkedin {
    width: 18px;
    height: 18px;
}

.single-post-back {
    display: flex;
    height: 40px;
}

.single-post-back.elementor-view-stacked .elementor-icon {
    color: #000;
}

.single-post-back.elementor-view-stacked .elementor-icon:hover {
    color: #fff;
}

body.single-post .article-header_top {
    position: sticky;
    top: 4.5rem;
    background-color: #fafafa;
    z-index: 10;
    will-change: height;
}

body.single-post .article-header_top .back-link-text .elementor-heading-title {
    transform: scale(1);
    transform-origin: left center;
    will-change: transform;
}
/* END Single post */

/* Press */
.c_press--cms--list > div,
.c_press--cms_highlight--item {
    cursor: pointer;
}

.c_press--cms--list {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
}

.c_press--cms--list .elementor-widget-button {
    margin-top: auto;
}

.c_press--card--asset {
    aspect-ratio: 16/9;
    background-color: #fafafa;
    border-radius: .5rem;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1.5rem;
    display: flex;
}

.c_press--card--asset_logo {
    display: flex;
    height: 30%;
}

.c_press--card--asset_logo img {
    width: auto;
    max-height: 2.625rem;
}

.c_press--filters {
    margin-bottom: 0;
}

.c_press--filters--form {
    display: flex;
    flex-wrap: wrap;
    column-gap: .75rem;
    row-gap: .75rem;
    align-items: center;
}

.c_press--filters--wrap_select {
    position: relative;
}

.c_press--filters--select {
    color: #000;
    text-transform: uppercase;
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 5rem;
    margin: 0;
    padding: .5rem 3rem .625rem 1.25rem;
    font-size: .875rem;
    font-weight: 500;
    font-family: inherit;
    line-height: 1.4;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color .25s;
}

.c_press--filters--select:hover,
.c_press--filters--select:focus {
    border-color: #000;
    outline: none;
}

.c_press--filters--select--icon {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    pointer-events: none;
    display: block;
    width: 16px;
    height: 16px;
}

.c_press--filters--reset {
    display: none;
    color: #000;
    text-transform: uppercase;
    background: none;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 5rem;
    padding: .5rem 1.25rem .625rem;
    font-size: .875rem;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    text-decoration: none;
    line-height: 1.4;
    transition: border-color .25s;
}

.c_press--filters--reset:hover {
    border-color: #000;
}

.c_press--cms--empty {
    display: none;
    grid-column: 1 / -1;
    column-gap: 1.5rem;
    row-gap: 1.5rem;
    background-color: #fff;
    text-align: center;
    border-radius: 2rem;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 4rem;
}

.c_press--cms--empty.is-visible {
    display: flex;
}

.c_press--cms--empty p {
    letter-spacing: 0;
    font-family: "Klarheit Kurrent", sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 0;
}

.c_press--cms--empty .button {
    display: inline-block;
    margin-top: .5rem;
    padding: .75rem 1.75rem;
    background-color: #000;
    color: #fff;
    text-transform: uppercase;
    font-size: .875rem;
    font-weight: 500;
    font-family: inherit;
    letter-spacing: .04em;
    border-radius: 5rem;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: opacity .2s;
}

.c_press--cms--empty .button:hover {
    opacity: .8;
}
/* END Press */

/* Contact form */
.form_component {
    background-color: #fff;
    border-radius: 1.5rem;
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 0;
    padding: 2.5rem;
    position: relative;
    z-index: 5;
}

.contact-stripes {
    /* z-index: 0; */
    /* width: 150%; */
    /* max-width: 73.5rem; */
    /* margin-left: auto; */
    /* margin-right: auto; */
    position: absolute;
    inset: 0% 0% 0% -25%;
}

.contact-stripes img {
    /* z-index: 0; */
    width: 150%;
    max-width: 73.5rem;
    margin-left: auto;
    margin-right: auto;
    /* position: absolute; */
    /* inset: 0% 0% 0% -25%; */
}

.form_component .elementor-field-group.elementor-field-type-textarea {
    margin-bottom: .5rem !important;
}

.form_component .elementor-field-group .elementor-field-textual {
    border: 1px solid #00000026;
    min-height: 3rem;
    padding: .5rem 1rem;
    /* transition: border-color .2s; */
}

.form_component .elementor-field-group #form-field-message.elementor-field-textual {
    height: 128px;
    padding-top: .75rem;
}

.form_component .elementor-field-group.elementor-field-type-acceptance .elementor-field-option {
    display: flex;
    gap: .5rem;
}

.form_component .elementor-field-group.elementor-field-type-acceptance .elementor-field-option input {
    align-self: start;
    margin-top: .25rem;
}

.form_component .elementor-field-group.elementor-field-type-acceptance .elementor-field-option label {
    line-height: 1.5;
}

.form_component .elementor-button[type="submit"] {
    margin-top: 14px;
}
/* END Contact form */

/* Responsive */
@media screen and (min-width: 992px) {
    header #nav_wordpress::before {
        content: '';
        background-color: #00000026;
        width: 1px;
        height: 2.5rem;
        margin-left: 1rem;
        margin-right: 1.5rem;
    }
}

@media screen and (max-width: 991px) {
    .elementor-widget-heading h1.elementor-heading-title {
        font-size: 5.5rem;
    }

    h2, h2.elementor-heading-title {
        font-size: 3.5rem;
    }

    .elementor-widget-n-menu .e-n-menu-wrapper {
        top: calc(100% + 28px) !important;
        background-color: #fff !important;
    }

    .elementor-widget-n-menu .e-n-menu-wrapper > ul {
        padding-bottom: 2.5rem;
    }

    header .elementor-widget-n-menu .e-n-menu-title-container {
        width: 100%;
        padding: 1rem 2.5rem;
    }

    header .elementor-widget-n-menu #nav_contact .e-n-menu-title-container,
    header .elementor-widget-n-menu #nav_wordpress .e-n-menu-title-container {
        justify-content: center;
        width: 100%;
        margin-top: 1rem;
        margin-left: 2.5rem;
        margin-right: 2.5rem;
    }

    /* Animate menu */
    header .e-n-menu[data-layout="dropdown"]>.e-n-menu-wrapper {
        display: block !important;
        overflow: hidden !important;

        max-height: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transition:
            max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0s linear 0.45s !important;
    }

    header .e-n-menu[data-layout="dropdown"]>.e-n-menu-wrapper>.e-n-menu-heading {
        transform: translateY(-100%);
        transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
    }

    header .e-n-menu[data-layout="dropdown"]:has(> .e-n-menu-toggle[aria-expanded="true"])>.e-n-menu-wrapper,
    header .e-n-menu[data-layout="dropdown"]>.e-n-menu-toggle[aria-expanded="true"]+.e-n-menu-wrapper {
        max-height: 100vh !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transition:
            max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
            visibility 0s linear 0s !important;
    }

    header .e-n-menu[data-layout="dropdown"]:has(> .e-n-menu-toggle[aria-expanded="true"])>.e-n-menu-wrapper>.e-n-menu-heading,
    header .e-n-menu[data-layout="dropdown"]>.e-n-menu-toggle[aria-expanded="true"]+.e-n-menu-wrapper>.e-n-menu-heading {
        transform: translateY(0);
    }
    /* END Animate menu */

    header .elementor-widget-n-menu .e-n-menu-content > .e-con {
        width: 100% !important;
        padding-right: 0;
        padding-left: 0;
        border: none;
        box-shadow: none;
        border-radius: 0;
    }

    header .elementor-widget-n-menu .e-n-menu-content > div > .e-con-inner {
        padding-top: 0;
        padding-bottom: 0;
        border: 1px solid #0000000d;
        border-left: 0;
        border-right: 0;
    }

    header .elementor-widget-n-menu .e-n-menu-content > div > .e-con-inner > div {
        display: flex;
    }

    header .elementor-widget-n-menu .e-n-menu-content > .e-con a {
        padding: .75rem 2.5rem;
    }

    header .elementor-widget-n-menu .e-n-menu-title-container:hover {
        background-color: transparent;
    }

    header .right-column {
        width: 32px;
        height: 48px;
        align-items: center;
    }

    .section_home-header {
        height: auto;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .header-bg img {
        max-width: 100%;
        top: 10%;
    }

    .section_home-features {
        padding-top: 6rem;
    }

    .features_row {
        grid-template-columns: 1fr 1fr;
    }

    /* .section_home-products {
        padding-top: 6rem;
    } */

    .product-grid {
        grid-column-gap: 4rem;
        grid-row-gap: 4rem;
        grid-template-columns: 1fr;
    }

    .footer_component {
        background-image: none;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .section_wordpress-header {
        height: auto;
        padding-top: 12rem;
        padding-bottom: 7.5rem;
    }

    .section_mission-header {
        overflow: hidden;
    }

    .cr_left-content {
        position: relative;
        top: auto;
    }

    .cr_grid {
        grid-template-columns: 1fr;
    }

    .d2d_grid {
        grid-column-gap: 4rem;
        grid-row-gap: 4rem;
        grid-template-columns: 1fr;
    }

    .d2d_left-image_wrapper.fix-corners {
        padding-top: 60%;
    }

    .people-stripes {
        width: 110%;
        top: -37%;
        left: -5%;
    }

    .pillars_grid {
        grid-column-gap: 1.5rem;
    }

    .pillars_menu-list a {
        padding: .5rem 1rem;
    }

    .header_wrapper {
        grid-template-columns: 1fr;
    }

    .header_visual-wrapper {
        width: 90%;
        height: 100%;
        justify-self: center;
    }

    /* .stripe-1.sparteo-stripe-1 {
        height: 30%;
        top: 12%;
    } */

    .stripe-4.sparteo-stripe-4 {
        height: 30%;
        top: 38%;
    }

    .stripe-3.sparteo-stripe-3 {
        height: 30%;
        bottom: 12%;
    }

    .stripe-5.sparteo-stripe-5 {
        height: 30%;
        bottom: 38%;
    }

    .c_press--cms--list {
        grid-template-columns: 1fr;
    }

    .contact-stripes {
        left: -15%;
    }

    .contact-stripes img {
        width: 125%;
    }

    .change-icon_sparteo {
        border-radius: 1.65rem;
        width: 6rem !important;
        height: 6rem !important;
    }

    .change_component_top > div {
        width: 6rem;
    }

    .solutions-tabs .e-tab-content-base {
        padding-right: 2.5rem;
        padding-left: 2.5rem;
    }

    .solutions-tabs_content-grid {
        grid-template-rows: auto auto;
        grid-template-columns: 1fr;
    }

    .solutions-tabs_menu {
        padding-right: 2.5rem !important;
        padding-left: 2.5rem !important;
    }
}

@media screen and (max-width: 767px) {
    .elementor-widget-heading h1.elementor-heading-title {
        letter-spacing: -2px;
        font-size: 4.5rem;
    }

    h2, h2.elementor-heading-title {
        font-size: 3rem;
        line-height: 1;
    }

    .padding-global {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .text-size-large {
        font-size: 1.25rem;
    }

    header .elementor-widget-n-menu .e-n-menu-title-container {
        padding: 1rem 1.25rem;
    }

    header .elementor-widget-n-menu #nav_contact .e-n-menu-title-container,
    header .elementor-widget-n-menu #nav_wordpress .e-n-menu-title-container {
        margin-left: 1.25rem;
        margin-right: 1.25rem;
    }

    .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tab-title[aria-selected="true"] {
        margin-block-end: 0;
    }

    .product-grid {
        padding: 2.5rem;
    }

    .pre-footer_component {
        grid-template-columns: 1fr;
    }

    .wp-features_grid {
        grid-template-columns: 1fr;
    }

    .d2d_left-image_wrapper.fix-corners {
        padding-top: 60%;
    }

    .d2d_grid {
        grid-column-gap: 3rem;
        grid-row-gap: 3rem;
    }

    footer {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .footer_component {
        display: flex;
    }

    .footer_badge--row {
        grid-column-gap: 1.5rem;
        grid-row-gap: 1.5rem;
        width: 100%;
    }

    .footer_badge--logo {
        height: 3rem;
    }

    .post-2059 {
        padding: 0 1.25rem;
    }

    body.single-post .elementor-location-single {
        padding: 0 1.25rem;
    }

    body.single-post .article-header_top {
        top: 5rem;
        height: auto !important;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    body.single-post .article-header_top .back-link-text .elementor-heading-title {
        transform: scale(1) !important;
    }

    .c_press--filters--form {
        grid-column-gap: .5rem;
        grid-row-gap: .5rem;
        /* flex-flow: column; */
        /* width: 100%; */
    }

    .c_press--filters--wrap_select {
        width: 100%;
    }

    .solutions-tabs_content-grid {
        grid-template-rows: auto auto;
        grid-template-columns: 1fr;
    }

    .solutions-carousel .elementor-swiper-button {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        height: 4rem;
        border-radius: 2rem;
    }

     .change-icon_sparteo {
        border-radius: 1rem;
        width: 4rem !important;
        height: 4rem !important;
    }

    .change_component_top > div {
        width: 4rem
    }
}

@media screen and (max-width: 479px) {
    header {
        padding-top: .5rem;
        padding-bottom: .5rem;
    }

    .elementor-widget-n-menu .e-n-menu-wrapper {
        top: calc(100% + 20px) !important;
    }

    header .e-n-menu[data-layout="dropdown"]:has(> .e-n-menu-toggle[aria-expanded="true"]) > .e-n-menu-wrapper, header .e-n-menu[data-layout="dropdown"] > .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
        height: 100vh;
    }

    header .elementor-widget-n-menu .e-n-menu-content > .e-con {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    header .elementor-widget-n-menu .e-n-menu-content > .e-con a {
        padding: .75rem 0;
    }

    .elementor-widget-heading h1.elementor-heading-title {
        letter-spacing: -2px;
        font-size: 3rem;
        line-height: .9;
    }

    h2, h2.elementor-heading-title {
        font-size: 2.5rem;
    }

    .elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile .e-n-tabs {
        gap: 2.5rem;
    }

    .section_home-header {
        padding-top: 6rem;
        padding-bottom: 4rem;
    }

    .header_wrapper {
        grid-template-rows: 1fr;
        grid-auto-rows: 1fr;
    }

    .header_visual-wrapper {
        width: 80%;
        height: 100%;
        min-height: 24rem;
    }

    body.home .awards_logo img {
        max-width: 8rem;
        max-height: 2rem;
    }

    .header-lottie .e-lottie__animation {
        width: 150%;
        padding-top: 0;
        padding-bottom: 0;
        inset: 0%;
        transform: translate(-17%);
    }

    .header-bg img {
        top: 0%;
    }

    .section_home-features {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .features_row {
        flex-direction: column;
        display: flex;
    }

    /* .section_home-products {
        padding-top: 4rem;
        padding-bottom: 4rem;
    } */

    .products-tabs_content .e-n-tabs-heading {
        flex-direction: column;
    }

    .product-grid {
        grid-row-gap: 1.5rem;
        padding: 1.5rem;
    }

    .section_wordpress-header {
        padding-top: 10rem;
        padding-bottom: 4rem;
        overflow: hidden;
    }

    .realt-time_row {
        font-size: .75rem;
    }

    body .number-card .softlite-dynamic-card-box {
        padding-block-start: 1.5rem !important;
        padding-block-end: 1.5rem !important;
        padding-inline-start: 1.5rem !important;
        padding-inline-end: 1.5rem !important;
    }

    .sparteo-icon_white {
        border-radius: 1.5rem;
    }

    .cr_collection-list {
        grid-template-columns: 1fr;
    }

    .pillars_grid {
        grid-row-gap: 2rem;
        grid-template-columns: 1fr;
    }

    .pillar_list-wrapper .elementor-icon-list-item::before {
        flex: 0 0 .25rem;
        width: .25rem;
        height: .25rem;
    }

    .footer_bottom {
        flex-direction: column;
        align-items: flex-start;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    .blog-header_grid > .e-con-inner {
        grid-template-columns: 1fr;
    }

    .single-post-back {
        height: 32px;
    }

    body.single-post .article-header_top {
        top: 4rem;
    }

    body.single-post .elementor-location-single .content p {
        font-size: 1rem;
    }

    .form_component {
        padding: 1.5rem;
    }

    .solutions-carousel .elementor-swiper-button {
        width: 2.5rem;
        height: 2.5rem;
    }

    footer {
        padding-top: 4rem;
    }

    .change-icon_sparteo {
        border-radius: .85rem;
        width: 3rem !important;
        height: 3rem !important;
    }

    .change_component_top > div {
        width: 3rem;
    }

    body.single-post .single-post-content .content blockquote p {
        font-size: 1.25rem;
    }
}