@import url("https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@500;600;700&display=swap");

:root {
    --font-site-body: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-site-title: "Playfair Display", Georgia, "Times New Roman", serif;
}

body.body-class {
    background: #fff !important;
    color: #091b4a;
    font-family: var(--font-site-body);
    overflow-x: hidden;
}

.site-preloader {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body.body-class,
body.body-class p,
body.body-class a,
body.body-class button,
body.body-class input,
body.body-class textarea,
body.body-class select,
body.body-class label,
body.body-class li,
body.body-class small,
body.body-class span {
    font-family: var(--font-site-body);
}

body.body-class h1,
body.body-class h2,
body.body-class h3,
body.body-class h4,
body.body-class h5,
body.body-class h6,
body.body-class h1 span,
body.body-class h2 span,
body.body-class h3 span,
body.body-class h4 span,
body.body-class h5 span,
body.body-class h6 span,
body.body-class h1 em,
body.body-class h2 em,
body.body-class h3 em,
body.body-class h4 em,
body.body-class h5 em,
body.body-class h6 em,
body.body-class .h1,
body.body-class .h2,
body.body-class .h3,
body.body-class .Titre_Snpt,
body.body-class .Offres_Grand_Titre_Snpt {
    font-family: var(--font-site-title) !important;
    font-weight: 600;
    letter-spacing: 0;
}

body.body-class i,
body.body-class .fa,
body.body-class [class^="fa-"],
body.body-class [class*=" fa-"] {
    font-family: FontAwesome !important;
}

body.body-class .glyphicon {
    font-family: "Glyphicons Halflings" !important;
}

/* Navbar typography matches the reference: clean sans, medium weight, no wide spacing. */
body.body-class nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav .navbar-brand,
body.body-class nav.navbar.bootsnav ul.nav > li > a,
body.body-class nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a,
body.body-class .navbar-nav > li > a,
body.body-class .Lang_Switch_Snpt,
body.body-class .Lang_Switch_Snpt > a,
body.body-class .Lang_Switch_Snpt .dropdown-menu li > a {
    font-family: var(--font-site-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    color: #101828 !important;
}

body.body-class .Lang_Switch_Snpt > a {
    font-weight: 600 !important;
}

/* Final title scale override */
body.body-class .Aceuil_Snpt h1 {
    max-width: 620px !important;
    font-size: clamp(34px, 3.15vw, 48px) !important;
    line-height: 1.08 !important;
}

body.body-class .Titre_Snpt,
body.body-class #solutions .Titre_Snpt {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Offres_Grand_Titre_Snpt {
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.12 !important;
}

body.body-class .Services_Showcase_Copy_Snpt h2,
body.body-class #offers-coverflow-title {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Careers_Header_Snpt h2,
body.body-class .Contact_Title_Snpt h2 {
    font-size: clamp(30px, 3vw, 42px) !important;
    line-height: 1.12 !important;
}

@media (max-width: 991px) {
    body.body-class .Aceuil_Snpt h1 {
        font-size: clamp(30px, 7vw, 40px) !important;
    }

    body.body-class .Titre_Snpt,
    body.body-class #solutions .Titre_Snpt,
    body.body-class .Offres_Grand_Titre_Snpt,
    body.body-class .Services_Showcase_Copy_Snpt h2,
    body.body-class #offers-coverflow-title,
    body.body-class .Careers_Header_Snpt h2,
    body.body-class .Contact_Title_Snpt h2 {
        font-size: clamp(28px, 7vw, 36px) !important;
    }
}

/* Compact hero spacing under the navbar */
body.body-class {
    padding-top: 74px !important;
}

body.body-class .header nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav {
    min-height: 74px !important;
}

body.body-class nav.navbar.bootsnav .navbar-brand {
    padding: 6px 0 !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    padding-top: 27px !important;
    padding-bottom: 25px !important;
}

body.body-class .Lang_Switch_Snpt > a {
    margin-top: 0 !important;
    padding-top: 27px !important;
    padding-bottom: 25px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
}

body.body-class .Aceuil_Snpt {
    padding-top: 36px !important;
}

body.body-class .Hero_Container_Snpt {
    padding-top: 0 !important;
}

@media (max-width: 991px) {
    body.body-class {
        padding-top: 68px !important;
    }

    body.body-class .Aceuil_Snpt {
        padding-top: 24px !important;
    }
}

/* Calmer les grands titres apres le changement de police serif. */
body.body-class .Aceuil_Snpt h1 {
    max-width: 620px !important;
    font-size: clamp(34px, 3.15vw, 48px) !important;
    line-height: 1.08 !important;
}

body.body-class .Titre_Snpt,
body.body-class #solutions .Titre_Snpt {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Offres_Grand_Titre_Snpt {
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.12 !important;
}

body.body-class .Services_Showcase_Title_Snpt,
body.body-class .Services_Showcase_Copy_Snpt h2,
body.body-class .Mes_Solutions_Titre_Snpt {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Careers_Header_Snpt h2,
body.body-class .Contact_Title_Snpt h2 {
    font-size: clamp(30px, 3vw, 42px) !important;
    line-height: 1.12 !important;
}

@media (max-width: 991px) {
    body.body-class .Aceuil_Snpt h1 {
        font-size: clamp(30px, 7vw, 40px) !important;
    }

    body.body-class .Titre_Snpt,
    body.body-class #solutions .Titre_Snpt,
    body.body-class .Offres_Grand_Titre_Snpt,
    body.body-class .Services_Showcase_Title_Snpt,
    body.body-class .Services_Showcase_Copy_Snpt h2,
    body.body-class .Mes_Solutions_Titre_Snpt,
    body.body-class .Careers_Header_Snpt h2,
    body.body-class .Contact_Title_Snpt h2 {
        font-size: clamp(28px, 7vw, 36px) !important;
    }
}

body.body-class .glyphicon {
    font-family: "Glyphicons Halflings" !important;
}

/* Navbar typography matches the reference: clean sans, medium weight, no wide spacing. */
body.body-class nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav .navbar-brand,
body.body-class nav.navbar.bootsnav ul.nav > li > a,
body.body-class nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a,
body.body-class .navbar-nav > li > a,
body.body-class .Lang_Switch_Snpt,
body.body-class .Lang_Switch_Snpt > a,
body.body-class .Lang_Switch_Snpt .dropdown-menu li > a {
    font-family: var(--font-site-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    color: #101828 !important;
}

body.body-class .Lang_Switch_Snpt > a {
    font-weight: 600 !important;
}

body.body-class .glyphicon {
    font-family: "Glyphicons Halflings" !important;
}

/* Navbar typography matches the reference: clean sans, medium weight, no wide spacing. */
body.body-class nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav .navbar-brand,
body.body-class nav.navbar.bootsnav ul.nav > li > a,
body.body-class nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a,
body.body-class .navbar-nav > li > a,
body.body-class .Lang_Switch_Snpt,
body.body-class .Lang_Switch_Snpt > a,
body.body-class .Lang_Switch_Snpt .dropdown-menu li > a {
    font-family: var(--font-site-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    color: #101828 !important;
}

body.body-class .Lang_Switch_Snpt > a {
    font-weight: 600 !important;
}

body.body-class .glyphicon {
    font-family: "Glyphicons Halflings" !important;
}

body.body-class nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav .navbar-brand,
body.body-class nav.navbar.bootsnav ul.nav > li > a,
body.body-class nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a,
body.body-class .navbar-nav > li > a,
body.body-class .Lang_Switch_Snpt,
body.body-class .Lang_Switch_Snpt > a,
body.body-class .Lang_Switch_Snpt .dropdown-menu li > a {
    font-family: var(--font-site-body) !important;
}

html {
    overflow-x: hidden;
}

.totop {
    display: none !important;
}

.Floating_Actions_Snpt {
    position: fixed;
    right: 28px;
    bottom: 28px;
    z-index: 999;
    display: flex;
    align-items: center;
    gap: 14px;
}

.Floating_Actions_Snpt a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    color: #ffffff !important;
    font-family: "Raleway", sans-serif;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(0, 89, 255, 0.26);
}

.Floating_Actions_Snpt a:hover,
.Floating_Actions_Snpt a:focus {
    transform: translateY(-2px);
    color: #ffffff !important;
    text-decoration: none;
}

.Floating_About_Snpt {
    gap: 10px;
    min-width: 184px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0872ff, #0052ef);
    color: #ffffff !important;
    font-size: 13px;
    letter-spacing: 0.2px;
}

.Floating_About_Snpt:before {
    content: "\f05a";
    font-family: FontAwesome;
    color: #ffffff;
    font-size: 15px;
    font-weight: normal;
}

.Floating_Top_Snpt {
    width: 52px;
    min-width: 52px;
    min-height: 52px !important;
    border-radius: 50%;
    background: #ffffff;
    color: #075eff !important;
    box-shadow: 0 12px 24px rgba(7, 36, 93, 0.16);
}

.Floating_Top_Snpt:before {
    content: "\2191";
    color: #075eff;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
}

.Floating_Top_Snpt:hover,
.Floating_Top_Snpt:focus {
    background: #ffffff !important;
    color: #075eff !important;
}

@media (max-width: 640px) {
    .Floating_Actions_Snpt {
        right: 16px;
        bottom: 16px;
    }

    .Floating_About_Snpt {
        display: none !important;
    }
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 0;
    background: #fff;
    box-shadow: 0 10px 32px rgba(8, 31, 84, 0.08);
}

body.body-class {
    padding-top: 94px;
}

@media (min-width: 1200px) {
    .Aceuil_Snpt > .container,
    .Section_Snpt > .container,
    .Offres_Grid_Snpt > .container,
    .Hero_Stats_Wrap_Snpt {
        width: calc(100% - 200px) !important;
        max-width: none !important;
    }
}

.header .Nav_Container_Snpt {
    width: calc(100% - 200px) !important;
    max-width: none !important;
}

@media (min-width: 1600px) {
    .header .Nav_Container_Snpt {
        width: calc(100% - 220px) !important;
    }
}

@media (max-width: 1199px) {
    .header .Nav_Container_Snpt {
        width: calc(100% - 40px) !important;
    }
}

.header nav.navbar.bootsnav,
nav.navbar.bootsnav {
    border: 1px solid #e9eef8 !important;
    border-radius: 0 0 14px 14px;
    box-shadow: 0 12px 34px rgba(8, 31, 84, 0.08) !important;
    min-height: 94px !important;
}

nav.navbar.bootsnav ul.nav > li > a {
    color: #071a46 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}

nav.navbar.bootsnav ul.nav > li.active > a {
    color: #0459ff !important;
    position: relative;
}

nav.navbar.bootsnav ul.nav > li.active > a:after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 24px;
    height: 3px;
    border-radius: 10px;
    background: #0459ff;
}

.Lang_Switch_Snpt > a {
    margin-top: 24px !important;
    padding: 13px 22px !important;
    border: 1.5px solid #0459ff;
    border-radius: 8px;
    color: #0459ff !important;
    line-height: 1;
}

.Lang_Switch_Snpt > a:after {
    display: none !important;
}

.Lang_Switch_Snpt > a span {
    display: none;
}

.Lang_Switch_Snpt > a:before {
    content: "";
}

.Aceuil_Snpt {
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    padding: 95px 0 0;
    background:
        radial-gradient(circle at 57% 35%, rgba(8, 106, 255, 0.08), transparent 27%),
        linear-gradient(180deg, #ffffff 0%, #f7fbff 100%) !important;
    overflow: hidden;
}

.Aceuil_Snpt:before {
    display: none !important;
}

.Hero_Container_Snpt {
    display: grid !important;
    grid-template-columns: minmax(430px, 0.86fr) minmax(620px, 1.14fr);
    gap: 24px;
    align-items: center !important;
    height: auto !important;
    padding: 0 !important;
    text-align: left !important;
}

.Hero_Copy_Snpt {
    grid-column: 1 !important;
    grid-row: 1 !important;
    max-width: 650px;
    align-self: center;
    padding-top: 20px;
}

.Hero_Badge_Snpt {
    display: inline-flex;
    margin-bottom: 17px;
    padding: 9px 18px;
    border-radius: 999px;
    background: #eef5ff;
    color: #0047c9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.Aceuil_Snpt h1 {
    max-width: 650px !important;
    margin: 0 0 20px !important;
    color: #071a46 !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: clamp(38px, 3.7vw, 56px) !important;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
    line-height: 1.06 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
}

.Aceuil_Snpt h1 span {
    color: #0459ff;
}

.Aceuil_Snpt p {
    max-width: 650px !important;
    margin: 0 !important;
    color: #23345d !important;
    font-size: 18px !important;
    line-height: 1.72 !important;
    font-weight: 500 !important;
    text-shadow: none !important;
}

.Actions_Aceuil_Snpt {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 28px !important;
}

.Actions_Aceuil_Snpt a {
    display: inline-flex !important;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
    padding: 17px 28px !important;
    border-radius: 7px !important;
    background: linear-gradient(135deg, #075eff, #004ee4) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: 0 16px 32px rgba(0, 82, 230, 0.2);
}

.Actions_Aceuil_Snpt a.secondary {
    background: #ffffff !important;
    color: #0039a8 !important;
    border: 1.5px solid #075eff !important;
    box-shadow: none;
}

.Hero_Visual_Snpt {
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative;
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
    perspective: 1200px;
    --hero-x: 0px;
    --hero-y: 0px;
    --hero-rx: 0deg;
    --hero-ry: 0deg;
}

.Hero_Visual_Snpt::before,
.Hero_Visual_Snpt::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

.Hero_Visual_Snpt::before {
    inset: 4% -6% 0 3%;
    background:
        radial-gradient(circle at 18% 28%, rgba(7, 94, 255, 0.22) 0 3px, transparent 4px),
        radial-gradient(circle at 64% 18%, rgba(7, 94, 255, 0.16) 0 2px, transparent 3px),
        radial-gradient(circle at 78% 58%, rgba(7, 94, 255, 0.2) 0 3px, transparent 4px),
        radial-gradient(circle at 34% 78%, rgba(7, 94, 255, 0.16) 0 2px, transparent 3px);
    opacity: 0.85;
    filter: blur(0.2px);
    animation: Hero_Particles_Drift_Snpt 9s ease-in-out infinite;
}

.Hero_Visual_Snpt::after {
    width: 56%;
    height: 46%;
    right: 11%;
    bottom: 9%;
    border-radius: 999px;
    background: radial-gradient(ellipse at center, rgba(7, 94, 255, 0.18), rgba(7, 94, 255, 0.06) 44%, transparent 72%);
    filter: blur(26px);
    animation: Hero_Glow_Pulse_Snpt 5.8s ease-in-out infinite;
}

.Hero_Image_Snpt {
    position: relative;
    z-index: 1;
    width: min(100%, 900px);
    max-height: 520px;
    height: auto;
    display: block;
    object-fit: contain;
    transform-origin: 50% 52%;
    filter:
        drop-shadow(0 28px 48px rgba(6, 31, 84, 0.12))
        drop-shadow(0 18px 34px rgba(7, 94, 255, 0.1));
    -webkit-mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0, 0, 0, 0.72) 75%, transparent 100%);
    mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0, 0, 0, 0.72) 75%, transparent 100%);
    animation: Hero_Image_Modern_Float_Snpt 6.8s cubic-bezier(.45, 0, .2, 1) infinite;
    will-change: transform, filter;
}

.Hero_Scene_Snpt {
    position: relative;
    z-index: 1;
    width: min(96%, 660px);
    aspect-ratio: 16 / 9;
    transform:
        translate3d(var(--hero-x), var(--hero-y), 0)
        rotateX(var(--hero-ry))
        rotateY(var(--hero-rx));
    transform-style: preserve-3d;
    animation: Hero_Scene_Breathe_Snpt 8s cubic-bezier(.45, 0, .2, 1) infinite;
    will-change: transform;
}

.Hero_Layer_Snpt {
    position: absolute;
    display: block;
    width: var(--w);
    left: var(--x);
    top: var(--y);
    z-index: var(--z);
    transform-origin: 50% 58%;
    filter:
        drop-shadow(0 22px 38px rgba(6, 31, 84, 0.11))
        drop-shadow(0 14px 28px rgba(7, 94, 255, 0.08));
    animation: var(--anim, Hero_Layer_Float_A_Snpt) var(--dur, 7s) cubic-bezier(.45, 0, .2, 1) infinite;
    animation-delay: var(--delay, 0s);
    will-change: transform, filter, opacity;
    -webkit-user-drag: none;
    user-select: none;
}

.Hero_Visual_Snpt.Animate_On_Scroll_Snpt:not(.Hero_Ready_Snpt) .Hero_Layer_Snpt,
.Hero_Visual_Snpt:not(.Hero_Ready_Snpt) .Hero_Layer_Snpt {
    opacity: 1;
    filter:
        drop-shadow(0 22px 38px rgba(6, 31, 84, 0.11))
        drop-shadow(0 14px 28px rgba(7, 94, 255, 0.08));
}

.Hero_Visual_Snpt.Visible_Snpt:not(.Hero_Ready_Snpt) .Hero_Layer_Snpt,
.Animate_On_Scroll_Snpt.Visible_Snpt.Hero_Visual_Snpt:not(.Hero_Ready_Snpt) .Hero_Layer_Snpt {
    animation: Hero_Zoom_Enter_Snpt 1s cubic-bezier(.16, 1, .3, 1) both !important;
    animation-delay: var(--entry-delay, 0s) !important;
}

.Hero_Circuit_Snpt {
    --w: 56%;
    --x: 24%;
    --y: 12%;
    --z: 0;
    --dur: 1s;
    --delay: 0s;
    --entry-delay: 0s;
    --anim: none;
    opacity: 0.44;
    mix-blend-mode: multiply;
    filter: none;
    transform: translate3d(0, 0, -34px) scale(1);
    animation: none;
}

.Hero_Server_Snpt {
    --w: 13%;
    --x: 24%;
    --y: 26%;
    --z: 2;
    --dur: 7.4s;
    --delay: -1.2s;
    --entry-delay: .16s;
    --anim: Hero_Layer_Float_B_Snpt;
}

.Hero_Code_Snpt {
    --w: 9%;
    --x: 28%;
    --y: 8%;
    --z: 3;
    --dur: 6.2s;
    --delay: -0.5s;
    --entry-delay: .32s;
    --anim: Hero_Layer_Float_C_Snpt;
}

.Hero_PC_Snpt {
    --w: 50%;
    --x: 28%;
    --y: 3%;
    --z: 5;
    --dur: 7.8s;
    --delay: -2.3s;
    --entry-delay: .48s;
    --anim: Hero_PC_Float_Snpt;
    filter:
        drop-shadow(0 34px 56px rgba(6, 31, 84, 0.16))
        drop-shadow(0 20px 36px rgba(7, 94, 255, 0.12));
}

.Hero_Cloud_Snpt {
    --w: 22%;
    --x: 62%;
    --y: 6%;
    --z: 4;
    --dur: 8.2s;
    --delay: -3s;
    --entry-delay: .64s;
    --anim: Hero_Layer_Float_A_Snpt;
}

.Hero_Graph_Snpt {
    --w: 20%;
    --x: 78%;
    --y: 18%;
    --z: 2;
    --dur: 6.9s;
    --delay: -1.7s;
    --entry-delay: .80s;
    --anim: Hero_Layer_Float_C_Snpt;
}

.Hero_Phone_Snpt {
    --w: 26%;
    --x: 50%;
    --y: 50%;
    --z: 6;
    --dur: 7.1s;
    --delay: -0.9s;
    --entry-delay: .96s;
    --anim: Hero_Layer_Float_B_Snpt;
}

.Hero_Scene_Snpt::before,
.Hero_Scene_Snpt::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.Hero_Scene_Snpt::before {
    inset: 5% 1% 6% 0;
    z-index: 1;
    background-image:
        radial-gradient(circle, rgba(7, 94, 255, 0.34) 0 2px, transparent 2.5px),
        radial-gradient(circle, rgba(7, 94, 255, 0.18) 0 1.5px, transparent 2px);
    background-size: 72px 72px, 118px 118px;
    background-position: 18px 28px, 8px 10px;
    opacity: 0.72;
    animation: Hero_Dotfield_Snpt 12s linear infinite;
}

.Hero_Scene_Snpt::after {
    left: 22%;
    right: 7%;
    bottom: 2%;
    height: 26%;
    z-index: 0;
    border-radius: 999px;
    background: radial-gradient(ellipse at center, rgba(7, 94, 255, 0.18), transparent 68%);
    filter: blur(24px);
    animation: Hero_Glow_Pulse_Snpt 5.8s ease-in-out infinite;
}

.Hero_Visual_Snpt:hover .Hero_Image_Snpt {
    animation-play-state: paused;
    transform:
        translate3d(var(--hero-x), var(--hero-y), 0)
        rotateX(var(--hero-ry))
        rotateY(var(--hero-rx))
        scale(1.018);
    filter:
        drop-shadow(0 34px 60px rgba(6, 31, 84, 0.16))
        drop-shadow(0 22px 42px rgba(7, 94, 255, 0.18));
}

@keyframes Hero_Image_Modern_Float_Snpt {
    0%,
    100% {
        transform:
            translate3d(var(--hero-x), calc(var(--hero-y) + 0px), 0)
            rotateX(calc(var(--hero-ry) + 0deg))
            rotateY(calc(var(--hero-rx) + -1.2deg))
            scale(1);
    }
    38% {
        transform:
            translate3d(calc(var(--hero-x) + 6px), calc(var(--hero-y) - 15px), 0)
            rotateX(calc(var(--hero-ry) + 1deg))
            rotateY(calc(var(--hero-rx) + 1.4deg))
            scale(1.012);
    }
    68% {
        transform:
            translate3d(calc(var(--hero-x) - 4px), calc(var(--hero-y) - 6px), 0)
            rotateX(calc(var(--hero-ry) + -0.8deg))
            rotateY(calc(var(--hero-rx) + 0.6deg))
            scale(1.006);
    }
}

@keyframes Hero_Particles_Drift_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.72;
    }
    50% {
        transform: translate3d(-12px, -18px, 0) scale(1.04);
        opacity: 1;
    }
}

@keyframes Hero_Glow_Pulse_Snpt {
    0%,
    100% {
        transform: scale(0.96);
        opacity: 0.62;
    }
    50% {
        transform: scale(1.08);
        opacity: 0.95;
    }
}

@keyframes Hero_Zoom_Enter_Snpt {
    0% {
        opacity: 0;
        transform: translate3d(0, 26px, 90px) scale(0.34);
        filter:
            blur(16px)
            drop-shadow(0 8px 16px rgba(7, 94, 255, 0));
    }
    62% {
        opacity: 1;
        transform: translate3d(0, -8px, 94px) scale(1.1);
        filter:
            blur(0)
            drop-shadow(0 26px 44px rgba(7, 94, 255, 0.18));
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
        filter:
            blur(0)
            drop-shadow(0 22px 38px rgba(6, 31, 84, 0.11))
            drop-shadow(0 14px 28px rgba(7, 94, 255, 0.08));
    }
}

@keyframes Hero_Scene_Breathe_Snpt {
    0%,
    100% {
        transform:
            translate3d(var(--hero-x), var(--hero-y), 0)
            rotateX(var(--hero-ry))
            rotateY(var(--hero-rx))
            scale(1);
    }
    50% {
        transform:
            translate3d(calc(var(--hero-x) + 3px), calc(var(--hero-y) - 7px), 0)
            rotateX(var(--hero-ry))
            rotateY(var(--hero-rx))
            scale(1.01);
    }
}

@keyframes Hero_Layer_Float_A_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, 24px) rotateZ(0deg) scale(1);
    }
    50% {
        transform: translate3d(8px, -18px, 46px) rotateZ(1.2deg) scale(1.018);
    }
}

@keyframes Hero_Layer_Float_B_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, 14px) rotateZ(0deg) scale(1);
    }
    45% {
        transform: translate3d(-10px, -13px, 34px) rotateZ(-1deg) scale(1.012);
    }
}

@keyframes Hero_Layer_Float_C_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, 32px) rotateZ(-0.6deg) scale(1);
    }
    52% {
        transform: translate3d(11px, -22px, 58px) rotateZ(1.8deg) scale(1.025);
    }
}

@keyframes Hero_PC_Float_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, 60px) rotateZ(0deg) scale(1);
        filter:
            drop-shadow(0 34px 56px rgba(6, 31, 84, 0.16))
            drop-shadow(0 20px 36px rgba(7, 94, 255, 0.12));
    }
    50% {
        transform: translate3d(4px, -12px, 82px) rotateZ(0.55deg) scale(1.01);
        filter:
            drop-shadow(0 42px 68px rgba(6, 31, 84, 0.18))
            drop-shadow(0 24px 44px rgba(7, 94, 255, 0.2));
    }
}

@keyframes Hero_Circuit_Drift_Snpt {
    0%,
    100% {
        transform: translate3d(0, 0, -30px) scale(1);
        opacity: 0.22;
    }
    50% {
        transform: translate3d(-12px, -8px, -30px) scale(1.025);
        opacity: 0.38;
    }
}

@keyframes Hero_Dotfield_Snpt {
    from {
        background-position: 18px 28px, 8px 10px;
        opacity: 0.58;
    }
    50% {
        opacity: 0.82;
    }
    to {
        background-position: 90px 100px, 126px 128px;
        opacity: 0.58;
    }
}

.Hero_Stats_Wrap_Snpt {
    position: relative;
    z-index: 2;
}

.Hero_Stats_Snpt {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 !important;
    margin: 0 auto !important;
    padding: 24px 32px !important;
    border: 1px solid #e6edf9 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.9) !important;
    box-shadow: 0 16px 34px rgba(7, 36, 93, 0.09);
    backdrop-filter: blur(8px);
}

.Hero_Stat_Snpt {
    position: relative;
    display: grid !important;
    grid-template-columns: 66px auto;
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: center !important;
    padding: 0 32px !important;
    text-align: left;
    border-left: 1px solid #dce5f4 !important;
}

.Hero_Stat_Snpt:first-child {
    border-left: 0 !important;
}

.Hero_Stat_Icon_Snpt {
    grid-row: 1 / span 2;
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #eaf3ff;
    color: #075eff;
    font-size: 24px;
}

.Hero_Stat_Nombre_Snpt {
    color: #071a46 !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    text-shadow: none !important;
}

.Hero_Stat_Label_Snpt {
    margin-top: 2px !important;
    color: #25355d !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.Hero_Trust_Snpt {
    position: relative;
    isolation: isolate;
    margin-top: -1px;
    padding: 54px 0 96px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(4, 20, 46, .08) 0%, rgba(7, 29, 69, .06) 50%, rgba(4, 20, 46, .16) 100%),
        url("../images/digital-network-bg.png") center top / cover no-repeat fixed;
    color: #ffffff;
}

@media (min-width: 1200px) {
    .Hero_Trust_Snpt > .container {
        width: calc(100% - 200px) !important;
        max-width: none !important;
    }
}

.Hero_Trust_Title_Snpt {
    margin-bottom: 38px;
    color: #ffffff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 32px;
    font-weight: 400;
    letter-spacing: 0;
    text-align: center;
    text-transform: none;
    text-shadow: 0 0 22px rgba(255, 255, 255, 0.18);
}

.Hero_Trust_Logos_Snpt {
    position: relative;
    overflow: visible;
    padding: 4px 0 54px;
    perspective: 900px;
    -webkit-mask-image: none;
    mask-image: none;
}

.Hero_Trust_Logos_Snpt:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 16px;
    width: min(820px, 86vw);
    height: 72px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(45, 137, 255, 0.22), transparent 68%);
    filter: blur(8px);
    transform: translateX(-50%);
    pointer-events: none;
}

.Hero_Trust_Track_Snpt {
    display: flex;
    width: min(1180px, 100%);
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 26px;
    margin: 0 auto;
    transform-style: preserve-3d;
    animation: none;
}

.Hero_Trust_Logos_Snpt:hover .Hero_Trust_Track_Snpt {
    animation-play-state: running;
}

.Hero_Trust_Track_Snpt img {
    width: 150px;
    height: 104px;
    flex: 0 0 auto;
    object-fit: contain;
    padding: 14px;
    border-radius: 18px;
    background: #ffffff;
    box-shadow:
        0 22px 36px rgba(0, 0, 0, 0.58),
        inset 0 1px 0 rgba(255, 255, 255, 0.85);
    filter: none;
    transform: translateZ(0) rotateX(9deg);
    -webkit-box-reflect: below 8px linear-gradient(transparent 18%, rgba(255, 255, 255, 0.2));
}

.Hero_Trust_Track_Snpt img[aria-hidden="true"] {
    display: none;
}

.Hero_Trust_Track_Snpt img:nth-child(1),
.Hero_Trust_Track_Snpt img:nth-child(6),
.Hero_Trust_Track_Snpt img:nth-child(11) {
    transform: translateY(14px) scale(0.9) rotateX(14deg);
    opacity: 1;
    filter: none;
}

.Hero_Trust_Track_Snpt img:nth-child(2),
.Hero_Trust_Track_Snpt img:nth-child(5),
.Hero_Trust_Track_Snpt img:nth-child(10),
.Hero_Trust_Track_Snpt img:nth-child(14) {
    transform: translateY(4px) scale(0.98) rotateX(11deg);
    opacity: 1;
}

.Hero_Trust_Track_Snpt img:nth-child(3),
.Hero_Trust_Track_Snpt img:nth-child(4),
.Hero_Trust_Track_Snpt img:nth-child(8),
.Hero_Trust_Track_Snpt img:nth-child(9) {
    transform: translateY(-8px) scale(1.08) rotateX(8deg);
}

@media (max-width: 767px) {
    .Hero_Trust_Snpt {
        padding: 44px 0 78px;
    }

    .Hero_Trust_Title_Snpt {
        font-size: 26px;
        margin-bottom: 30px;
    }

    .Hero_Trust_Track_Snpt {
        gap: 14px;
    }

    .Hero_Trust_Track_Snpt img {
        width: 112px;
        height: 82px;
        padding: 10px;
        border-radius: 16px;
    }
}

@keyframes heroTrustScroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.About_Preview_Snpt {
    padding: 70px 0 86px;
    background: transparent !important;
}

.About_Preview_Header_Snpt {
    text-align: center;
}

.About_Preview_Title_Row_Snpt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
}

.About_Preview_Title_Row_Snpt span {
    display: block;
    width: 210px;
    max-width: 22vw;
    height: 1px;
    background: #dfe6f1;
}

.About_Preview_Header_Snpt h2 {
    margin: 0;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: 0;
}

.About_Preview_Header_Snpt p {
    display: block;
    width: 100%;
    margin: 10px auto 0;
    color: #596680;
    font-size: 17px;
    font-weight: 500;
    text-align: center;
}

.About_Preview_Body_Snpt {
    max-width: 1180px;
    margin: 26px auto 0;
    display: grid;
    grid-template-columns: minmax(460px, 0.9fr) minmax(520px, 1fr);
    align-items: center;
    gap: 10px;
}

.About_Preview_Image_Snpt {
    overflow: visible;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.About_Preview_Image_Snpt img {
    display: block;
    width: min(100%, 620px);
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.About_Preview_Text_Snpt {
    max-width: 680px;
}

.About_Preview_Text_Snpt p {
    margin: 0 0 28px;
    color: #243454;
    font-size: 22px;
    line-height: 1.65;
    font-weight: 500;
}

.About_Preview_Text_Snpt strong {
    color: #071a46;
    font-weight: 900;
}

.About_Preview_Text_Snpt a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, #075eff, #0046c9);
    color: #fff !important;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 13px 28px rgba(7, 94, 255, 0.28);
}

.About_Preview_Text_Snpt a:hover {
    color: #fff !important;
    transform: translateY(-1px);
}

.Section_Snpt {
    padding: 72px 0 !important;
    background: #fff !important;
}

#offres.Section_Snpt {
    padding-top: 14px !important;
    padding-bottom: 30px !important;
}

#offres .Offres_Grid_Snpt {
    padding-top: 18px !important;
}

.Offres_Title_Snpt {
    margin-bottom: 0 !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    overflow: hidden;
    border: 1px solid #e6edf9;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 18px 42px rgba(7, 36, 93, 0.08);
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"] {
    float: none !important;
    width: 20% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 20% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

#offres .Offre_Carte_Snpt {
    min-height: 78px !important;
    height: 100%;
    display: grid !important;
    grid-template-columns: 38px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-content: center;
    align-items: center;
    padding: 10px 16px !important;
    border: 0 !important;
    border-left: 1px solid #dce5f4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:first-child .Offre_Carte_Snpt {
    border-left: 0 !important;
}

#offres .Offre_Carte_Snpt:hover {
    transform: none !important;
    border-color: #dce5f4 !important;
    box-shadow: none !important;
}

#offres .Offre_Entete_Snpt {
    display: contents;
}

#offres .Offre_Icone_Snpt {
    width: 34px !important;
    height: 34px !important;
    grid-row: 1 / span 2;
    grid-column: 1;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #eaf3ff !important;
    color: #075eff !important;
    box-shadow: none !important;
    font-size: 13px !important;
}

#offres .Offre_Carte_Snpt h3 {
    grid-column: 2;
    min-height: 0;
    margin: 0 0 5px !important;
    color: #071a46 !important;
    font-size: 12.5px !important;
    line-height: 1.25;
    font-weight: 900 !important;
}

#offres .Offre_Carte_Snpt p {
    color: #25355d !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

#offres .Offre_Lien_Snpt {
    grid-column: 2;
    justify-content: flex-start;
    margin-top: 0 !important;
    color: #075eff !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
}

.Section_Snpt.Alt_Snpt,
#offres.Section_Snpt {
    background: #f7fbff !important;
}

.Etiquette_Snpt {
    color: #075eff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    letter-spacing: 2px !important;
}

.Titre_Snpt {
    color: #071a46 !important;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

.Texte_Snpt {
    color: #334261 !important;
}

#apropos .Texte_Snpt,
#apropos .About_Intro_Snpt p {
    max-width: 1360px !important;
}

#apropos .Titre_Snpt {
    max-width: 1360px !important;
}

#apropos > .container,
#apropos .About_Intro_Snpt > .container,
#apropos .About_Section_Snpt > .container {
    width: calc(100% - 160px) !important;
    max-width: 1500px !important;
}

.Partenaires_Snpt {
    margin-top: 20px !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.Partenaires_Snpt > div {
    width: 100% !important;
    justify-content: space-between;
    gap: 24px !important;
    animation: none !important;
}

.Partenaire_Carte_Snpt {
    width: 185px !important;
    height: 78px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.Offre_Carte_Snpt {
    min-height: 126px !important;
    padding: 22px 24px !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(9, 36, 91, 0.04);
}

.Grille_5_Snpt .Offre_Carte_Snpt h3 {
    font-size: 15px !important;
}

.Grille_5_Snpt .Offre_Carte_Snpt p {
    font-size: 13px !important;
}

@media (max-width: 1199px) {
    .Hero_Container_Snpt {
        grid-template-columns: minmax(360px, 0.9fr) minmax(430px, 1.1fr);
        gap: 18px;
    }

    .Hero_Copy_Snpt {
        max-width: 560px;
        margin: 0;
        text-align: left;
    }

    .Actions_Aceuil_Snpt {
        justify-content: flex-start;
    }

    .Hero_Visual_Snpt {
        min-height: 0;
        justify-content: flex-end;
    }

    .Hero_Stats_Snpt {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 24px !important;
    }

    .Hero_Stat_Snpt:nth-child(3) {
        border-left: 0 !important;
    }

    .Hero_Trust_Track_Snpt {
        gap: 22px;
    }

    .About_Preview_Body_Snpt {
        grid-template-columns: minmax(420px, 0.88fr) minmax(460px, 1fr);
        gap: 10px;
    }

    .About_Preview_Header_Snpt h2 {
        font-size: 30px;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    #offres .Offre_Carte_Snpt {
        border-top: 1px solid #dce5f4 !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(1) .Offre_Carte_Snpt,
    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(2) .Offre_Carte_Snpt {
        border-top: 0 !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(odd) .Offre_Carte_Snpt {
        border-left: 0 !important;
    }
}

#offres .Offre_Carte_Snpt,
#solutions .Portail_Snpt {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

#offres .Offre_Carte_Snpt,
#offres .Offre_Carte_Snpt:hover,
#solutions .Portail_Snpt,
#solutions .Portail_Snpt:hover {
    transform: none !important;
}

/* Rich carousel treatment for Nos offres */
#offres .Offres_Grid_Snpt {
    position: relative;
    padding-top: 46px !important;
    padding-bottom: 86px !important;
}

#offres .Offres_Grid_Snpt::before,
#offres .Offres_Grid_Snpt::after {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-family: FontAwesome;
    font-size: 28px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

#offres .Offres_Grid_Snpt::before {
    content: "\f104";
    left: clamp(42px, 4vw, 76px);
}

#offres .Offres_Grid_Snpt::after {
    content: "\f105";
    right: clamp(42px, 4vw, 76px);
}

#offres .Offres_Grid_Snpt > .container {
    position: relative;
}

#offres .Offres_Grid_Snpt > .container::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -48px;
    width: 118px;
    height: 14px;
    transform: translateX(-50%);
    background:
        radial-gradient(circle at 7px 7px, rgba(255,255,255,0.45) 0 6px, transparent 7px),
        radial-gradient(circle at 31px 7px, rgba(255,255,255,0.45) 0 6px, transparent 7px),
        radial-gradient(circle at 55px 7px, #1377ff 0 6px, transparent 7px),
        radial-gradient(circle at 79px 7px, rgba(255,255,255,0.45) 0 6px, transparent 7px),
        radial-gradient(circle at 103px 7px, rgba(255,255,255,0.45) 0 6px, transparent 7px);
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
    min-height: 330px;
    justify-content: center;
    align-items: center;
    gap: 28px !important;
    padding: 0 88px !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"] {
    flex: 0 0 230px !important;
}

#offres .Offre_Carte_Snpt {
    position: relative;
    min-height: 292px !important;
    overflow: hidden;
    padding: 22px !important;
    border-radius: 10px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.055)) !important;
}

#offres .Offre_Carte_Snpt::before {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 64px;
    height: 92px;
    border-radius: 9px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.035)),
        linear-gradient(90deg, rgba(63,143,255,0.28) 15%, transparent 15% 26%, rgba(63,143,255,0.5) 26% 39%, transparent 39% 52%, rgba(63,143,255,0.72) 52% 68%, transparent 68%);
    opacity: 0.72;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}

#offres .Offre_Carte_Snpt::after {
    content: "";
    position: absolute;
    inset: auto 0 -74px;
    height: 70px;
    background: linear-gradient(180deg, rgba(19, 119, 255, 0.16), transparent);
    transform: skewX(-8deg);
    opacity: 0.5;
}

#offres .Offre_Icone_Snpt {
    border-radius: 8px !important;
}

#offres .Offre_Carte_Snpt h3 {
    max-width: 170px;
    font-size: 15px !important;
}

#offres .Offre_Lien_Snpt {
    position: relative;
    z-index: 2;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(3) {
    flex-basis: 282px !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(3) .Offre_Carte_Snpt {
    min-height: 332px !important;
    border-color: #1377ff !important;
    box-shadow:
        0 0 0 1px rgba(19, 119, 255, 0.58),
        0 0 42px rgba(19, 119, 255, 0.38),
        0 36px 80px rgba(0, 0, 0, 0.35) !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(3) .Offre_Carte_Snpt::before {
    height: 124px;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.035)),
        radial-gradient(circle at 72% 44%, #22c7ff 0 26px, #2450ff 27px 42px, transparent 43px),
        linear-gradient(90deg, rgba(63,143,255,0.32) 12%, transparent 12% 22%, rgba(63,143,255,0.55) 22% 36%, transparent 36% 48%, rgba(63,143,255,0.78) 48% 62%, transparent 62%);
}

@media (max-width: 1199px) {
    #offres .Offres_Grid_Snpt::before,
    #offres .Offres_Grid_Snpt::after {
        display: none;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
        justify-content: flex-start;
        overflow-x: auto;
        padding: 0 20px 18px !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"],
    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(3) {
        flex-basis: 260px !important;
    }
}

@media (max-width: 991px) {
    body.body-class {
        padding-top: 72px;
    }

    .header {
        padding-top: 0;
    }

    .header nav.navbar.bootsnav,
    nav.navbar.bootsnav {
        border-radius: 0;
    }

    nav.navbar.bootsnav ul.nav > li.active > a:after {
        display: none;
    }

    .Lang_Switch_Snpt > a {
        margin-top: 0;
        border: 0;
    }

    .Aceuil_Snpt {
        padding-top: 42px;
    }

    .Hero_Container_Snpt {
        grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
        gap: 18px;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    .Hero_Copy_Snpt {
        max-width: 520px;
        margin: 0;
        text-align: left;
    }

    .Actions_Aceuil_Snpt {
        justify-content: flex-start;
    }

    .Hero_Visual_Snpt {
        justify-content: flex-end;
    }

    .Aceuil_Snpt h1 {
        font-size: clamp(38px, 5vw, 58px) !important;
    }

    .Aceuil_Snpt p {
        font-size: 16px !important;
    }

    .About_Preview_Body_Snpt {
        grid-template-columns: 1fr;
        max-width: 760px;
        text-align: center;
    }

    .About_Preview_Text_Snpt {
        max-width: 680px;
        margin: 0 auto;
    }

    .About_Preview_Title_Row_Snpt span {
        width: 130px;
    }
}

@media (max-width: 760px) {
    .Hero_Container_Snpt {
        grid-template-columns: 1fr;
    }

    .Hero_Copy_Snpt {
        grid-column: 1 !important;
        grid-row: 1 !important;
        max-width: 760px;
        margin: 0 auto;
        text-align: center;
    }

    .Actions_Aceuil_Snpt {
        justify-content: center;
    }

    .About_Preview_Snpt {
        padding: 52px 0 64px;
    }

    .About_Preview_Title_Row_Snpt {
        gap: 14px;
    }

    .About_Preview_Title_Row_Snpt span {
        width: 56px;
        max-width: 15vw;
    }

    .About_Preview_Header_Snpt h2 {
        font-size: 26px;
    }

    .About_Preview_Header_Snpt p,
    .About_Preview_Text_Snpt p {
        font-size: 15px;
    }

    .About_Preview_Body_Snpt {
        margin-top: 28px;
        gap: 26px;
    }

    .Hero_Visual_Snpt {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100%;
        margin-bottom: 0;
        transform: none;
        justify-content: center;
    }

    .Hero_Stats_Snpt {
        grid-template-columns: 1fr;
    }

    .Hero_Stat_Snpt {
        border-left: 0 !important;
        border-top: 1px solid #dce5f4;
        padding: 16px 4px !important;
    }

    .Hero_Stat_Snpt:first-child {
        border-top: 0;
    }

    .Actions_Aceuil_Snpt a {
        width: 100%;
        justify-content: center;
    }

    .Partenaires_Snpt > div {
        flex-wrap: wrap;
        justify-content: center;
    }

    .Hero_Trust_Track_Snpt {
        gap: 16px;
        animation-duration: initial;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
        grid-template-columns: 1fr !important;
    }

    #offres .Offre_Carte_Snpt {
        border-left: 0 !important;
        border-top: 1px solid #dce5f4 !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:first-child .Offre_Carte_Snpt {
        border-top: 0 !important;
    }
}

@media (max-width: 520px) {
    .Hero_Visual_Snpt {
        display: flex;
    }
}

/* Dark presentation for offers and solutions */
#offres.Section_Snpt,
#solutions.Section_Snpt {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(2, 12, 36, 0.84), rgba(3, 18, 50, 0.9)),
        url("../images/digital-network-bg.png") center / cover no-repeat !important;
}

#offres.Section_Snpt {
    padding-top: 74px !important;
    padding-bottom: 78px !important;
}

#solutions.Section_Snpt {
    padding-top: 86px !important;
    padding-bottom: 96px !important;
}

#offres.Section_Snpt::before,
#solutions.Section_Snpt::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 18%, rgba(24, 118, 255, 0.22), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 22%);
    pointer-events: none;
}

#offres.Section_Snpt > *,
#solutions.Section_Snpt > * {
    position: relative;
    z-index: 1;
}

#offres .Offres_Title_Snpt,
#solutions .Etiquette_Snpt {
    display: table;
    margin: 0 auto 28px !important;
    padding: 10px 28px;
    border-radius: 999px;
    background: rgba(7, 94, 255, 0.18);
    color: #2f88ff !important;
    font-family: "Raleway", sans-serif !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 3px !important;
    text-align: center;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(80, 151, 255, 0.14);
}

#solutions .Titre_Snpt {
    max-width: 960px;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #ffffff !important;
    font-size: clamp(34px, 4vw, 58px) !important;
    line-height: 1.08 !important;
    text-align: center;
    letter-spacing: 0 !important;
}

#solutions .Texte_Snpt {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    text-align: center;
}

#offres .Offres_Grid_Snpt {
    padding-top: 24px !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 22px !important;
    padding: 0 !important;
    overflow-x: auto;
    overflow-y: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 136, 255, 0.8) rgba(255, 255, 255, 0.08);
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"] {
    width: auto !important;
    flex: 0 0 270px !important;
    padding: 0 !important;
}

#offres .Offre_Carte_Snpt {
    min-height: 176px !important;
    display: grid !important;
    grid-template-columns: 46px 1fr;
    grid-template-rows: auto 1fr;
    column-gap: 16px;
    align-content: start;
    padding: 26px !important;
    border: 1px solid rgba(118, 170, 255, 0.22) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)) !important;
    box-shadow: 0 24px 52px rgba(0, 0, 0, 0.22) !important;
    backdrop-filter: blur(12px);
}

#offres .Offre_Carte_Snpt:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(47, 136, 255, 0.75) !important;
    box-shadow: 0 24px 60px rgba(0, 86, 255, 0.22) !important;
}

#offres .Offre_Icone_Snpt {
    width: 46px !important;
    height: 46px !important;
    background: linear-gradient(135deg, var(--accent), #075eff) !important;
    color: #fff !important;
    font-size: 16px !important;
    box-shadow: 0 14px 28px rgba(7, 94, 255, 0.28) !important;
}

#offres .Offre_Carte_Snpt h3 {
    align-self: center;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.25;
}

#offres .Offre_Lien_Snpt {
    align-self: end;
    margin-top: 34px !important;
    color: #51a6ff !important;
    font-size: 12px !important;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

#solutions .Portails_Grille_Snpt {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 28px;
    margin-top: 68px !important;
    overflow-x: auto;
    padding: 26px 0 34px;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 136, 255, 0.8) rgba(255, 255, 255, 0.08);
}

#solutions .Portails_Grille_Snpt > [class*="col-"] {
    width: auto !important;
    flex: 0 0 300px !important;
    padding: 0 !important;
}

#solutions .Portail_Snpt {
    min-height: 245px !important;
    padding: 26px !important;
    border: 1px solid rgba(118, 170, 255, 0.24) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 100% 0, rgba(7, 94, 255, 0.22), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.055)) !important;
    color: #fff !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.26) !important;
    backdrop-filter: blur(12px);
}

#solutions .Portail_Snpt:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(47, 136, 255, 0.8) !important;
    box-shadow: 0 28px 68px rgba(0, 86, 255, 0.24) !important;
}

#solutions .Portail_Snpt .Icone_Snpt {
    background: linear-gradient(135deg, var(--accent), #075eff) !important;
    color: #fff !important;
    box-shadow: 0 14px 28px rgba(7, 94, 255, 0.26);
}

#solutions .Portail_Snpt h3 {
    color: #ffffff !important;
}

#solutions .Portail_Snpt p {
    color: rgba(255, 255, 255, 0.72) !important;
}

#solutions .Portail_Snpt .Lien_Snpt {
    color: #51a6ff !important;
}

#solutions.Section_Snpt {
    background: #ffffff !important;
    margin-top: 0;
}

#solutions.Section_Snpt::before {
    inset: 34px clamp(18px, 3vw, 56px);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(2, 12, 36, 0.82), rgba(3, 15, 43, 0.92)),
        url("../images/digital-network-bg.png") center / cover no-repeat;
    box-shadow: 0 28px 70px rgba(7, 26, 70, 0.16);
}

#solutions .Portail_Snpt {
    backdrop-filter: none;
}

@media (max-width: 760px) {
    #offres.Section_Snpt,
    #solutions.Section_Snpt {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"],
    #solutions .Portails_Grille_Snpt > [class*="col-"] {
        flex-basis: 260px !important;
    }

    #solutions .Titre_Snpt {
        font-size: 34px !important;
    }
}

/* Offers as a dark carousel panel */
#offres.Section_Snpt {
    padding: 58px 0 !important;
    background: #ffffff !important;
    margin-bottom: 34px;
}

#offres.Section_Snpt::before {
    inset: 34px clamp(18px, 3vw, 56px);
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(2, 12, 36, 0.82), rgba(3, 15, 43, 0.92)),
        url("../images/digital-network-bg.png") center / cover no-repeat;
    box-shadow: 0 28px 70px rgba(7, 26, 70, 0.16);
}

#offres .Offres_Title_Snpt {
    margin-top: 18px !important;
    margin-bottom: 22px !important;
}

.Offres_Grand_Titre_Snpt {
    max-width: 940px;
    margin: 0 auto 18px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 4vw, 62px);
    line-height: 1.08;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0;
}

.Offres_Intro_Snpt {
    max-width: 760px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.82);
    font-size: 18px;
    line-height: 1.65;
    text-align: center;
}

#offres .Offres_Grid_Snpt {
    padding-top: 58px !important;
    padding-bottom: 58px;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
    justify-content: center;
    align-items: stretch;
    gap: 22px !important;
    overflow: visible;
    padding: 0 30px !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"] {
    flex: 0 0 220px !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(1) .Offre_Carte_Snpt,
#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(5) .Offre_Carte_Snpt {
    opacity: 0.74;
    transform: none !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(2) .Offre_Carte_Snpt,
#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(4) .Offre_Carte_Snpt {
    opacity: 0.9;
    transform: none !important;
}

#offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"]:nth-child(3) .Offre_Carte_Snpt {
    transform: none !important;
    border-color: rgba(31, 132, 255, 0.95) !important;
    box-shadow:
        0 0 0 1px rgba(7, 94, 255, 0.55),
        0 0 34px rgba(7, 94, 255, 0.42),
        0 32px 78px rgba(0, 0, 0, 0.34) !important;
}

#offres .Offre_Carte_Snpt {
    min-height: 270px !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 24px !important;
    border: 1px solid rgba(139, 178, 243, 0.25) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.055)) !important;
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.28) !important;
}

#offres .Offre_Entete_Snpt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
}

#offres .Offre_Icone_Snpt {
    flex: 0 0 auto;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
}

#offres .Offre_Carte_Snpt h3 {
    max-width: 160px;
    color: #ffffff !important;
    font-size: 17px !important;
    line-height: 1.15;
}

#offres .Offre_Lien_Snpt {
    margin-top: 26px !important;
    color: #45a6ff !important;
    font-size: 12px !important;
}

@media (max-width: 1199px) {
    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 14px !important;
    }

    #offres .Offres_Grid_Snpt .row.Grille_5_Snpt > [class*="col-"] .Offre_Carte_Snpt {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Premium vision and diagnostic sections */
.Vision_Premium_Snpt {
    padding: 28px 0 18px !important;
    background: #ffffff !important;
    text-align: left !important;
}

.Vision_Premium_Snpt .container,
.Diagnostic_Premium_Snpt .container {
    width: 100% !important;
    max-width: none !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

.Vision_Panel_Snpt {
    display: grid;
    grid-template-columns: minmax(420px, 0.9fr) minmax(520px, 1.1fr);
    gap: clamp(28px, 4vw, 64px);
    align-items: center;
    min-height: 560px;
    padding: clamp(42px, 5vw, 72px) clamp(42px, 6vw, 96px);
    border: 1px solid rgba(199, 216, 244, 0.78);
    border-radius: 14px;
    background:
        radial-gradient(circle at 84% 30%, rgba(23, 106, 255, 0.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
    box-shadow: 0 28px 80px rgba(9, 33, 86, 0.08);
    overflow: hidden;
}

.Vision_Label_Snpt,
.Diagnostic_Label_Snpt {
    display: inline-flex;
    position: relative;
    margin: 0 0 22px !important;
    color: #075eff !important;
    font-family: "Raleway", sans-serif;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: 1.6px !important;
    line-height: 1;
}

.Vision_Label_Snpt::after,
.Diagnostic_Label_Snpt::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -14px;
    width: 32px;
    height: 2px;
    border-radius: 99px;
    background: #075eff;
}

.Vision_Content_Snpt h2,
.Diagnostic_Content_Snpt h2 {
    margin: 0;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: clamp(32px, 3vw, 46px);
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: 0;
}

.Vision_Content_Snpt > p {
    max-width: 620px;
    margin: 22px 0 26px !important;
    color: #273858 !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
    font-style: normal !important;
    text-align: left !important;
}

.Vision_Features_Snpt {
    max-width: 520px;
}

.Vision_Feature_Snpt {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 18px;
    align-items: flex-start;
    padding: 17px 0;
    border-bottom: 1px dashed rgba(7, 94, 255, 0.18);
}

.Vision_Feature_Snpt:last-child {
    border-bottom: 0;
}

.Vision_Feature_Snpt > span,
.Diagnostic_Benefits_Snpt span,
.Calendar_Footer_Snpt span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: #eaf3ff;
    color: #075eff;
    font-size: 24px;
}

.Vision_Feature_Snpt strong {
    display: block;
    margin-bottom: 7px;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: 16px;
    font-weight: 900;
}

.Vision_Feature_Snpt p {
    margin: 0 !important;
    color: #5a6781 !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
    text-align: left !important;
}

.Vision_Image_Snpt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 410px;
}

.Vision_Image_Snpt img {
    width: min(100%, 710px);
    max-height: 500px;
    object-fit: contain;
    filter: drop-shadow(0 36px 54px rgba(7, 64, 160, 0.14));
}

.Diagnostic_Premium_Snpt {
    padding: 18px 0 48px !important;
    background: #ffffff !important;
    color: #ffffff !important;
    text-align: left !important;
}

.Diagnostic_Panel_Snpt {
    display: grid;
    grid-template-columns: minmax(380px, 0.78fr) minmax(580px, 1.22fr);
    gap: clamp(36px, 5vw, 78px);
    align-items: center;
    min-height: 470px;
    padding: clamp(40px, 5vw, 72px) clamp(42px, 6vw, 100px);
    border: 1px solid rgba(77, 145, 255, 0.28);
    border-radius: 14px;
    background:
        linear-gradient(180deg, rgba(4, 20, 46, 0.86), rgba(7, 29, 69, 0.94)),
        url("../images/digital-network-bg.png") center bottom / cover no-repeat;
    box-shadow: 0 34px 90px rgba(4, 20, 46, 0.22);
    overflow: hidden;
}

.Diagnostic_Content_Snpt h2 {
    max-width: 520px;
    color: #ffffff;
    font-size: clamp(34px, 3.3vw, 52px);
}

.Diagnostic_Content_Snpt > p {
    max-width: 570px;
    margin: 22px 0 34px !important;
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 17px !important;
    line-height: 1.72 !important;
    text-align: left !important;
}

.Diagnostic_Benefits_Snpt {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    max-width: 620px;
    margin-bottom: 34px;
}

.Diagnostic_Benefits_Snpt div {
    display: grid;
    grid-template-columns: 48px 1fr;
    column-gap: 13px;
    align-items: center;
    min-width: 0;
}

.Diagnostic_Benefits_Snpt span {
    grid-row: span 2;
    width: 48px;
    height: 48px;
    border-radius: 11px;
    background: linear-gradient(135deg, #0a75ff, #0752de);
    color: #ffffff;
    font-size: 19px;
    box-shadow: 0 14px 30px rgba(7, 94, 255, 0.32);
}

.Diagnostic_Benefits_Snpt strong {
    color: #ffffff;
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 900;
}

.Diagnostic_Benefits_Snpt small {
    color: rgba(255, 255, 255, 0.64);
    font-size: 13px;
}

.Diagnostic_Button_Snpt {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-height: 62px;
    padding: 0 28px;
    border-radius: 10px;
    background: linear-gradient(135deg, #0b78ff, #0757f2);
    color: #ffffff !important;
    font-family: "Raleway", sans-serif;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 18px 40px rgba(7, 94, 255, 0.32);
}

.Diagnostic_Button_Snpt:hover,
.Diagnostic_Button_Snpt:focus {
    color: #ffffff !important;
    text-decoration: none;
    transform: translateY(-3px);
    box-shadow: 0 24px 52px rgba(7, 94, 255, 0.42);
}

.Diagnostic_Calendar_Snpt {
    padding: clamp(26px, 3vw, 36px);
    border: 1px solid rgba(82, 151, 255, 0.44);
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 5%, rgba(26, 119, 255, 0.3), transparent 26%),
        linear-gradient(180deg, rgba(21, 50, 105, 0.78), rgba(9, 27, 66, 0.78));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 48px rgba(7, 94, 255, 0.2);
    backdrop-filter: blur(16px);
}

.Calendar_Grid_Snpt {
    display: grid;
    grid-template-columns: minmax(310px, 1fr) minmax(190px, 0.62fr);
    gap: 34px;
}

.Calendar_Left_Snpt {
    padding-right: 30px;
    border-right: 1px solid rgba(255, 255, 255, 0.16);
}

.Calendar_Top_Snpt > span,
.Calendar_Times_Snpt > span {
    display: block;
    margin-bottom: 18px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
}

.Calendar_Top_Snpt div {
    display: grid;
    grid-template-columns: 32px 1fr 32px;
    align-items: center;
    margin-bottom: 15px;
    color: rgba(255, 255, 255, 0.78);
    text-align: center;
}

.Calendar_Top_Snpt strong {
    color: #ffffff;
    font-size: 16px;
}

.Calendar_Days_Snpt {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px 8px;
    text-align: center;
}

.Calendar_Days_Snpt span,
.Calendar_Days_Snpt b,
.Calendar_Days_Snpt em,
.Calendar_Days_Snpt strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.86);
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
}

.Calendar_Days_Snpt span {
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
}

.Calendar_Days_Snpt em {
    color: rgba(255, 255, 255, 0.42);
}

.Calendar_Days_Snpt strong {
    color: #ffffff;
    background: linear-gradient(135deg, #0d7cff, #0755ef);
    box-shadow: 0 8px 20px rgba(7, 94, 255, 0.34);
}

.Calendar_Times_Snpt {
    display: grid;
    grid-template-columns: repeat(2, minmax(86px, 1fr));
    gap: 12px;
}

.Calendar_Times_Snpt > span {
    grid-column: 1 / -1;
}

.Calendar_Times_Snpt button {
    min-height: 40px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    font-weight: 800;
}

.Calendar_Times_Snpt button.active {
    background: linear-gradient(135deg, #0e7eff, #0756f1);
    box-shadow: 0 12px 28px rgba(7, 94, 255, 0.36);
}

.Calendar_Footer_Snpt {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.Calendar_Footer_Snpt span {
    width: 46px;
    height: 46px;
    background: rgba(7, 94, 255, 0.2);
    color: #ffffff;
}

.Calendar_Footer_Snpt strong {
    display: block;
    color: #ffffff;
    font-family: "Raleway", sans-serif;
    font-size: 16px;
    font-weight: 900;
}

.Calendar_Footer_Snpt p {
    margin: 5px 0 0 !important;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 14px !important;
}

@media (max-width: 1199px) {
    .Vision_Panel_Snpt,
    .Diagnostic_Panel_Snpt {
        grid-template-columns: 1fr;
    }

    .Vision_Image_Snpt {
        min-height: auto;
    }

    .Vision_Image_Snpt img {
        max-height: 420px;
    }
}

@media (max-width: 760px) {
    .Vision_Premium_Snpt,
    .Diagnostic_Premium_Snpt {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .Vision_Panel_Snpt,
    .Diagnostic_Panel_Snpt {
        padding: 30px 20px;
        border-radius: 12px;
    }

    .Vision_Feature_Snpt,
    .Diagnostic_Benefits_Snpt {
        grid-template-columns: 1fr;
    }

    .Diagnostic_Benefits_Snpt div,
    .Calendar_Grid_Snpt,
    .Calendar_Times_Snpt {
        grid-template-columns: 1fr;
    }

    .Calendar_Left_Snpt {
        padding-right: 0;
        padding-bottom: 22px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .Diagnostic_Button_Snpt {
        width: 100%;
        justify-content: center;
        font-size: 15px;
    }
}

/* Careers and contact premium section */
.Careers_Contact_Wrap_Snpt {
    background: #f4f8ff;
    overflow: hidden;
}

.Careers_Contact_Wrap_Snpt .container {
    width: calc(100% - 220px) !important;
    max-width: none !important;
}

.Careers_Dark_Snpt {
    position: relative;
    padding: 64px 0 86px;
    color: #071a46;
    background:
        radial-gradient(circle at 78% 22%, rgba(7, 94, 255, 0.11), transparent 28%),
        radial-gradient(circle at 18% 72%, rgba(7, 94, 255, 0.08), transparent 34%),
        linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 48px), 0 100%);
}

.Careers_Dark_Snpt > .container {
    position: relative;
    z-index: 1;
}

.Careers_Header_Snpt {
    max-width: 760px;
    margin: 0 auto 36px;
    text-align: center;
}

.Careers_Label_Snpt {
    margin: 0 0 16px !important;
    color: #2f88ff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 1.7px !important;
}

.Careers_Header_Snpt h2 {
    margin: 0 0 16px;
    color: #071a46;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 3.5vw, 52px);
    line-height: 1.08;
    font-weight: 600;
}

.Careers_Header_Snpt p {
    max-width: 680px;
    margin: 0 auto;
    color: #465475;
    font-size: 16px;
    line-height: 1.72;
}

.Careers_Grid_Snpt {
    display: grid;
    grid-template-columns: minmax(350px, 0.72fr) minmax(520px, 1.28fr);
    gap: clamp(34px, 6vw, 92px);
    align-items: center;
}

.Careers_Card_Snpt,
.Contact_Form_Card_Snpt {
    border: 1px solid rgba(206, 220, 245, 0.86);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(5, 25, 68, 0.14);
}

.Careers_Card_Snpt {
    max-width: 480px;
    padding: 34px 38px;
    color: #071a46;
}

.Careers_Card_Snpt h3,
.Contact_Form_Card_Snpt h3,
.Contact_Info_Card_Snpt h3 {
    position: relative;
    margin: 0 0 28px;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
}

.Careers_Card_Snpt h3::after,
.Contact_Form_Card_Snpt h3::after,
.Contact_Info_Card_Snpt h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -12px;
    width: 30px;
    height: 2px;
    border-radius: 999px;
    background: #075eff;
}

.Careers_Item_Snpt {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 17px;
    align-items: flex-start;
    margin-bottom: 24px;
}

.Careers_Item_Snpt span,
.Contact_Info_Grid_Snpt span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #eff5ff;
    color: #075eff;
    font-size: 20px;
}

.Careers_Item_Snpt strong {
    display: block;
    margin-bottom: 5px;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: 15px;
    font-weight: 900;
}

.Careers_Item_Snpt p {
    margin: 0;
    color: #66728d;
    font-size: 13px;
    line-height: 1.55;
}

.Careers_Actions_Snpt {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.Careers_Actions_Snpt a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 18px;
    border: 1px solid #075eff;
    border-radius: 5px;
    background: #075eff;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 900;
}

.Careers_Actions_Snpt a.secondary {
    background: #ffffff;
    color: #075eff !important;
}

.Careers_Actions_Snpt a:hover,
.Careers_Actions_Snpt a:focus {
    text-decoration: none;
    transform: translateY(-2px);
}

.Careers_Image_Snpt {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 420px;
}

.Careers_Image_Snpt img {
    width: min(100%, 760px);
    max-height: 500px;
    object-fit: contain;
    filter: drop-shadow(0 34px 60px rgba(7, 94, 255, 0.16));
}

.Contact_Premium_Snpt {
    position: relative;
    z-index: 2;
    margin-top: -48px;
    padding: 118px 0 86px;
    background:
        radial-gradient(circle at 74% 15%, rgba(7, 94, 255, 0.08), transparent 30%),
        linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
}

.Contact_Premium_Grid_Snpt {
    display: grid;
    grid-template-columns: minmax(420px, 0.92fr) minmax(420px, 1.08fr);
    gap: clamp(42px, 6vw, 90px);
    align-items: start;
    max-width: 1240px;
    margin: 0 auto;
}

.Contact_Form_Card_Snpt {
    padding: 34px 40px;
}

.Contact_Form_Card_Snpt form {
    display: grid;
    gap: 16px;
}

.Contact_Row_Snpt {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.Contact_Form_Card_Snpt label {
    position: relative;
    display: block;
    margin: 0;
}

.Contact_Form_Card_Snpt label > i {
    position: absolute;
    left: 15px;
    top: 17px;
    z-index: 1;
    color: #7d8ba8;
    font-size: 14px;
}

.Contact_Form_Card_Snpt input,
.Contact_Form_Card_Snpt textarea {
    width: 100%;
    min-height: 50px;
    padding: 0 16px 0 42px;
    border: 1px solid #dce5f3;
    border-radius: 5px;
    background: #fbfdff;
    color: #071a46;
    font-size: 14px;
    outline: 0;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.Contact_Form_Card_Snpt textarea {
    min-height: 150px;
    padding-top: 15px;
    resize: vertical;
}

.Contact_Form_Card_Snpt input:focus,
.Contact_Form_Card_Snpt textarea:focus {
    border-color: #075eff;
    box-shadow: 0 0 0 3px rgba(7, 94, 255, 0.1);
}

.Contact_Check_Snpt {
    display: flex !important;
    align-items: center;
    gap: 9px;
    color: #63708b;
    font-size: 12px;
}

.Contact_Check_Snpt input {
    width: 14px;
    min-height: 14px;
    padding: 0;
}

.Contact_Check_Snpt a {
    color: #075eff;
    text-decoration: underline;
}

.Contact_Form_Card_Snpt button {
    min-height: 54px;
    border: 0;
    border-radius: 5px;
    background: linear-gradient(135deg, #075eff, #2357ff);
    color: #ffffff;
    font-weight: 900;
    box-shadow: 0 16px 32px rgba(7, 94, 255, 0.22);
}

.Contact_Info_Card_Snpt {
    padding-top: 34px;
}

.Contact_Info_Card_Snpt > p {
    max-width: 430px;
    margin: 0 0 28px;
    color: #465475;
    font-size: 15px;
    line-height: 1.68;
}

.Contact_Info_Grid_Snpt {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 34px;
}

.Contact_Info_Grid_Snpt a,
.Contact_Info_Grid_Snpt div {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 98px;
    padding: 18px;
    border: 1px solid rgba(221, 230, 244, 0.86);
    border-radius: 8px;
    background: #ffffff;
    color: #071a46;
    box-shadow: 0 14px 38px rgba(5, 25, 68, 0.07);
}

.Contact_Info_Grid_Snpt a:hover,
.Contact_Info_Grid_Snpt a:focus {
    color: #071a46;
    text-decoration: none;
    transform: translateY(-3px);
}

.Contact_Info_Grid_Snpt strong,
.Contact_Info_Grid_Snpt small {
    display: block;
}

.Contact_Info_Grid_Snpt strong {
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 900;
}

.Contact_Info_Grid_Snpt small {
    margin-top: 5px;
    color: #63708b;
    font-size: 12px;
    line-height: 1.45;
}

.Contact_Social_Snpt h4 {
    margin: 0 0 18px;
    color: #071a46;
    font-family: "Raleway", sans-serif;
    font-size: 18px;
    font-weight: 900;
}

.Contact_Social_Snpt div {
    display: flex;
    gap: 16px;
}

.Contact_Social_Snpt a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #ffffff;
    color: #071a46;
    box-shadow: 0 13px 34px rgba(5, 25, 68, 0.1);
}

.Contact_Social_Snpt a:hover,
.Contact_Social_Snpt a:focus {
    background: #075eff;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-3px);
}

@media (max-width: 1199px) {
    .Careers_Contact_Wrap_Snpt .container {
        width: calc(100% - 40px) !important;
    }

    .Careers_Grid_Snpt,
    .Contact_Premium_Grid_Snpt {
        grid-template-columns: 1fr;
    }

    .Careers_Card_Snpt {
        max-width: none;
    }
}

@media (max-width: 700px) {
    .Careers_Dark_Snpt {
        padding-top: 46px;
    }

    .Careers_Contact_Wrap_Snpt .container {
        width: calc(100% - 24px) !important;
    }

    .Careers_Card_Snpt,
    .Contact_Form_Card_Snpt {
        padding: 26px 20px;
    }

    .Contact_Row_Snpt,
    .Contact_Info_Grid_Snpt {
        grid-template-columns: 1fr;
    }

    .Careers_Image_Snpt {
        min-height: 260px;
    }
}

/* Dark contact and footer style */
.Careers_Contact_Wrap_Snpt .Contact_Premium_Snpt {
    padding: 38px 0 92px !important;
    background:
        linear-gradient(180deg, rgba(4, 20, 46, .12) 0%, rgba(7, 29, 69, .06) 55%, rgba(4, 20, 46, .08) 100%),
        url("../images/digital-network-bg.png") center top / cover no-repeat fixed !important;
    color: #ffffff;
}

.Contact_Map_Hero_Snpt {
    position: relative;
    min-height: 380px;
    margin: 0 0 72px;
    border: 1px solid rgba(123, 99, 255, 0.28);
    border-radius: 24px;
    background:
        linear-gradient(180deg, rgba(4, 20, 46, .22), rgba(7, 29, 69, .18)),
        url("../images/digital-network-bg.png") center top / cover no-repeat fixed;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 28px 80px rgba(0, 0, 0, 0.34);
    overflow: hidden;
}

.Contact_Map_Hero_Snpt iframe {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    filter: contrast(1.08) brightness(0.92) saturate(1.2);
    opacity: 1;
    pointer-events: auto;
    user-select: none;
}

.Contact_Map_Hero_Snpt::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(4, 20, 46, .2), rgba(4, 20, 46, .34)),
        radial-gradient(circle at 50% 50%, rgba(7, 94, 255, .08), transparent 24%);
    mix-blend-mode: multiply;
    pointer-events: none;
}

.Contact_Map_Hero_Snpt::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 50% 50%, rgba(112, 93, 255, 0.12), transparent 5%),
        linear-gradient(90deg, transparent 0 48%, rgba(92, 117, 255, 0.035) 48% 49%, transparent 49% 100%);
    pointer-events: none;
}

.Contact_Map_Card_Snpt {
    position: absolute;
    left: 36px;
    top: 36px;
    z-index: 2;
    width: 250px;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    background: rgba(4, 8, 25, 0.82);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(18px);
}

.Contact_Map_Card_Snpt span {
    color: #0B5FFF;
    font-size: 36px;
}

.Contact_Map_Card_Snpt strong {
    display: block;
    margin: 8px 0 10px;
    color: #ffffff;
    font-family: "Raleway", sans-serif;
    font-size: 20px;
    font-weight: 900;
}

.Contact_Map_Card_Snpt p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.7;
}

.Contact_Map_Card_Snpt a {
    color: #5da2ff !important;
    font-size: 14px;
    font-weight: 800;
}

.Contact_Title_Snpt {
    max-width: 900px;
    margin: 0 auto 40px;
    text-align: center;
}

.Contact_Title_Snpt span {
    display: block;
    width: 70px;
    height: 34px;
    margin: 0 auto 10px;
    background: radial-gradient(circle, #0B5FFF 0 12%, transparent 13%);
    filter: drop-shadow(0 0 16px rgba(11, 95, 255, 0.7));
}

.Contact_Title_Snpt h2 {
    margin: 0 0 14px;
    color: #ffffff;
    font-family: "Playfair Display", Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.1;
    font-weight: 600;
}

.Contact_Title_Snpt h2 em {
    color: #0B5FFF;
    font-style: normal;
}

.Contact_Title_Snpt p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 18px;
}

.Careers_Contact_Wrap_Snpt .Contact_Premium_Grid_Snpt {
    display: block;
    max-width: 980px;
    margin: 0 auto;
}

.Careers_Contact_Wrap_Snpt .Contact_Info_Card_Snpt {
    display: none;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt form {
    gap: 22px;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea {
    min-height: 66px;
    border: 1px solid rgba(145, 154, 190, 0.28);
    border-radius: 8px;
    background: rgba(2, 6, 22, 0.38) !important;
    color: #ffffff !important;
    font-size: 16px;
    backdrop-filter: blur(12px);
    caret-color: #ffffff;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea {
    min-height: 150px;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input::placeholder,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea::placeholder {
    color: rgba(255, 255, 255, 0.56);
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input:focus,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea:focus {
    background: rgba(2, 6, 22, 0.48) !important;
    color: #ffffff !important;
    border-color: rgba(86, 137, 255, 0.66);
    box-shadow: 0 0 0 3px rgba(7, 94, 255, 0.18), 0 16px 42px rgba(7, 94, 255, 0.12);
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input:-webkit-autofill,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input:-webkit-autofill:hover,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt input:-webkit-autofill:focus,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea:-webkit-autofill,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea:-webkit-autofill:hover,
.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt textarea:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff;
    box-shadow: 0 0 0 1000px rgba(2, 6, 22, 0.9) inset !important;
    border-color: rgba(86, 137, 255, 0.5);
    transition: background-color 9999s ease-in-out 0s;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt label > i {
    top: 23px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 18px;
}

.Careers_Contact_Wrap_Snpt .Contact_Check_Snpt {
    display: none !important;
}

.Careers_Contact_Wrap_Snpt .Contact_Form_Card_Snpt button {
    display: block;
    width: min(100%, 300px);
    min-height: 52px;
    margin: 8px auto 0;
    border-radius: 9px;
    background: linear-gradient(135deg, #0B5FFF, #0047d9);
    color: #ffffff;
    font-size: 14px;
    box-shadow: 0 16px 34px rgba(11, 95, 255, 0.28);
}

body.body-class .footer {
    background:
        linear-gradient(180deg, rgba(4, 20, 46, .12) 0%, rgba(7, 29, 69, .06) 55%, rgba(4, 20, 46, .08) 100%),
        url("../images/digital-network-bg.png") center top / cover no-repeat fixed !important;
    color: rgba(255, 255, 255, 0.74);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.body-class .footer .container {
    width: calc(100% - 120px) !important;
    max-width: 1380px !important;
}

body.body-class .footer-top {
    padding: 66px 0 46px !important;
    background: transparent !important;
}

body.body-class .footer-bottom {
    padding: 24px 0 !important;
    background: transparent !important;
    border-top: 1px solid rgba(255, 255, 255, 0.09);
}

body.body-class .footer img {
    filter: none !important;
}

body.body-class .footer h3,
body.body-class .footer .title {
    position: relative;
    margin: 0 0 24px !important;
    color: #ffffff !important;
    font-family: "Raleway", sans-serif;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

body.body-class .footer h3::after,
body.body-class .footer .title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 36px;
    height: 2px;
    background: #0B5FFF;
}

body.body-class .footer p,
body.body-class .footer li,
body.body-class .footer a {
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 15px;
    line-height: 1.7;
}

body.body-class .footer a:hover,
body.body-class .footer a:focus {
    color: #5da2ff !important;
    text-decoration: none;
}

body.body-class .footer ul li a::before {
    content: "\f105";
    margin-right: 12px;
    color: #0B5FFF;
    font-family: FontAwesome;
}

body.body-class .footer-about ul {
    display: flex;
    gap: 14px;
    margin-top: 10px;
}

body.body-class .footer-about ul li a,
body.body-class .footer-about ul li {
    display: inline-flex;
    margin: 0 !important;
}

body.body-class .footer-about ul li a {
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(11, 95, 255, 0.18);
    color: #ffffff !important;
    border: 1px solid rgba(11, 95, 255, 0.28);
}

body.body-class .footer-about ul li a::before,
body.body-class .footer-contact-info a::before {
    display: none;
}

body.body-class .footer-contact-info i {
    width: 24px;
    color: #0B5FFF;
    font-size: 20px;
}

body.body-class .footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 0.58) !important;
}

@media (max-width: 991px) {
    .Contact_Map_Hero_Snpt {
        min-height: 300px;
    }

    .Contact_Map_Card_Snpt {
        left: 18px;
        top: 18px;
        width: 220px;
    }

    body.body-class .footer .container {
        width: calc(100% - 36px) !important;
    }
}

@media (max-width: 991px) {
    .Hero_Scene_Snpt {
        width: min(100%, 760px);
        margin: 0 auto;
    }

    .Hero_Visual_Snpt {
        min-height: 380px;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .Hero_Scene_Snpt {
        width: min(112%, 560px);
        aspect-ratio: 1.22 / 1;
    }

    .Hero_PC_Snpt {
        --w: 58%;
        --x: 29%;
        --y: 14%;
    }

    .Hero_Server_Snpt {
        --w: 32%;
        --x: 0%;
        --y: 43%;
    }

    .Hero_Code_Snpt {
        --w: 28%;
        --x: 12%;
        --y: 12%;
    }

    .Hero_Cloud_Snpt {
        --w: 32%;
        --x: 62%;
        --y: 8%;
    }

    .Hero_Graph_Snpt {
        --w: 28%;
        --x: 76%;
        --y: 29%;
    }

    .Hero_Phone_Snpt {
        --w: 43%;
        --x: 54%;
        --y: 59%;
    }
}

/* Global scroll animation system */
.Animate_On_Scroll_Snpt {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(0.985);
    filter: blur(8px);
    transition:
        opacity 820ms cubic-bezier(.22, 1, .36, 1),
        transform 820ms cubic-bezier(.22, 1, .36, 1),
        filter 820ms cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--anim-delay, 0ms);
    will-change: opacity, transform, filter;
}

.Animate_On_Scroll_Snpt.Visible_Snpt {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

.Animate_From_Left_Snpt {
    transform: translate3d(-46px, 22px, 0) scale(0.985);
}

.Animate_From_Right_Snpt {
    transform: translate3d(46px, 22px, 0) scale(0.985);
}

.Animate_Zoom_Snpt {
    transform: translate3d(0, 20px, 0) scale(0.94);
}

.Animate_On_Scroll_Snpt.Visible_Snpt.Animate_From_Left_Snpt,
.Animate_On_Scroll_Snpt.Visible_Snpt.Animate_From_Right_Snpt,
.Animate_On_Scroll_Snpt.Visible_Snpt.Animate_Zoom_Snpt {
    transform: translate3d(0, 0, 0) scale(1);
}

.Visible_Snpt .Hero_Visual_Snpt:not(.Hero_Visual_Snpt) img,
.Animate_On_Scroll_Snpt.Visible_Snpt:not(.Hero_Visual_Snpt) img {
    animation: Smpnt_Float_In 900ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes Smpnt_Float_In {
    from {
        opacity: 0;
        transform: translateY(18px) scale(0.98);
        filter: blur(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .Animate_On_Scroll_Snpt,
    .Reveal_Snpt {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}

.Hero_Visual_Snpt.Visible_Snpt.Hero_Ready_Snpt .Hero_Layer_Snpt,
.Animate_On_Scroll_Snpt.Visible_Snpt.Hero_Visual_Snpt.Hero_Ready_Snpt .Hero_Layer_Snpt {
    animation: var(--anim, Hero_Layer_Float_A_Snpt) var(--dur, 7s) cubic-bezier(.45, 0, .2, 1) infinite;
    animation-delay: var(--delay, 0s);
}

.Hero_Visual_Snpt.Visible_Snpt.Hero_Ready_Snpt .Hero_Circuit_Snpt,
.Animate_On_Scroll_Snpt.Visible_Snpt.Hero_Visual_Snpt.Hero_Ready_Snpt .Hero_Circuit_Snpt {
    animation: none !important;
    transform: translate3d(0, 0, -34px) scale(1) !important;
}

@media (prefers-reduced-motion: reduce) {
    .Hero_Image_Snpt,
    .Hero_Scene_Snpt,
    .Hero_Layer_Snpt,
    .Hero_Scene_Snpt::before,
    .Hero_Scene_Snpt::after,
    .Hero_Visual_Snpt::before,
    .Hero_Visual_Snpt::after {
        animation: none !important;
    }
}

/* Global site typography */
body.body-class,
body.body-class p,
body.body-class a,
body.body-class button,
body.body-class input,
body.body-class textarea,
body.body-class select,
body.body-class label,
body.body-class li,
body.body-class small,
body.body-class span,
body.body-class strong {
    font-family: var(--font-site-body) !important;
}

body.body-class h1,
body.body-class h2,
body.body-class h3,
body.body-class h4,
body.body-class h5,
body.body-class h6,
body.body-class h1 span,
body.body-class h2 span,
body.body-class h3 span,
body.body-class h4 span,
body.body-class h5 span,
body.body-class h6 span,
body.body-class h1 em,
body.body-class h2 em,
body.body-class h3 em,
body.body-class h4 em,
body.body-class h5 em,
body.body-class h6 em,
body.body-class .h1,
body.body-class .h2,
body.body-class .h3,
body.body-class .Titre_Snpt,
body.body-class .Offres_Grand_Titre_Snpt,
body.body-class .Careers_Header_Snpt h2,
body.body-class .Contact_Title_Snpt h2 {
    font-family: var(--font-site-title) !important;
    font-weight: 600;
    letter-spacing: 0;
}

body.body-class i,
body.body-class .fa,
body.body-class [class^="fa-"],
body.body-class [class*=" fa-"] {
    font-family: FontAwesome !important;
}

body.body-class .glyphicon {
    font-family: "Glyphicons Halflings" !important;
}

/* Navbar typography matches the reference: clean sans, medium weight, no wide spacing. */
body.body-class nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav .navbar-brand,
body.body-class nav.navbar.bootsnav ul.nav > li > a,
body.body-class nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a,
body.body-class .navbar-nav > li > a,
body.body-class .Lang_Switch_Snpt,
body.body-class .Lang_Switch_Snpt > a,
body.body-class .Lang_Switch_Snpt .dropdown-menu li > a {
    font-family: var(--font-site-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    color: #101828 !important;
}

body.body-class .Lang_Switch_Snpt > a {
    font-weight: 600 !important;
}

/* Final title scale override */
body.body-class .Aceuil_Snpt h1 {
    max-width: 620px !important;
    font-size: clamp(34px, 3.15vw, 48px) !important;
    line-height: 1.08 !important;
}

body.body-class .Titre_Snpt,
body.body-class #solutions .Titre_Snpt {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Offres_Grand_Titre_Snpt {
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.12 !important;
}

body.body-class .Services_Showcase_Copy_Snpt h2,
body.body-class #offers-coverflow-title {
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.12 !important;
}

body.body-class .Careers_Header_Snpt h2,
body.body-class .Contact_Title_Snpt h2 {
    font-size: clamp(30px, 3vw, 42px) !important;
    line-height: 1.12 !important;
}

@media (max-width: 991px) {
    body.body-class .Aceuil_Snpt h1 {
        font-size: clamp(30px, 7vw, 40px) !important;
    }

    body.body-class .Titre_Snpt,
    body.body-class #solutions .Titre_Snpt,
    body.body-class .Offres_Grand_Titre_Snpt,
    body.body-class .Services_Showcase_Copy_Snpt h2,
    body.body-class #offers-coverflow-title,
    body.body-class .Careers_Header_Snpt h2,
    body.body-class .Contact_Title_Snpt h2 {
        font-size: clamp(28px, 7vw, 36px) !important;
    }
}

/* Compact hero spacing under the navbar */
body.body-class {
    padding-top: 74px !important;
}

body.body-class .header nav.navbar.bootsnav,
body.body-class nav.navbar.bootsnav {
    min-height: 74px !important;
}

body.body-class nav.navbar.bootsnav .navbar-brand {
    padding: 6px 0 !important;
}

body.body-class nav.navbar.bootsnav ul.nav > li > a {
    padding-top: 27px !important;
    padding-bottom: 25px !important;
}

body.body-class .Lang_Switch_Snpt > a {
    margin-top: 0 !important;
    padding-top: 27px !important;
    padding-bottom: 25px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
}

body.body-class .Aceuil_Snpt {
    padding-top: 36px !important;
}

body.body-class .Hero_Container_Snpt {
    padding-top: 0 !important;
}

@media (max-width: 991px) {
    body.body-class {
        padding-top: 68px !important;
    }

    body.body-class .Aceuil_Snpt {
        padding-top: 24px !important;
    }
}
