/* Styles de la page — refonte Isytem */
/* 0. Neutralise les styles globaux de base.css qui ne s'appliquent pas à cette mise en page */
.home img { height: auto }
.home p, .home h1, .home h2, .home h3, .home h4, .home h5, .home h6 { font-family: inherit; line-height: inherit }
.home p { font-weight: inherit }
.home h1, .home h2, .home h3, .home h4, .home h5, .home h6 { font-weight: 700 }
.home a { color: inherit; transition: none }
.home [hidden] { display: none !important }

/* 1. Composants de la page */
.home a { color: #4230D6 }
.home a:hover { color: #2A1EA0 }
.home .home__wrap { max-width: 1200px;margin: 0 auto;padding-left: 40px;padding-right: 40px;box-sizing: border-box }
.home .home__btn { display: inline-flex;align-items: center;justify-content: center;min-height: 46px;padding: 0 24px;border-radius: 8px;font-family: 'Kanit',sans-serif;font-weight: 500;font-size: 15px;text-decoration: none;box-sizing: border-box;white-space: nowrap }
.home .home__btn-primary { background: #4230D6;color: #FFFFFF }
.home .home__btn-primary:hover { background: #3424B8;color: #FFFFFF }
.home .home__btn-ghost { border: 1.5px solid #171615;color: #171615;background: transparent }
.home .home__btn-ghost:hover { background: #171615;color: #F8F4EC }
.home .home__link-arrow { color: #4230D6;text-decoration: none;font-weight: 500 }
.home .home__link-arrow:hover { color: #2A1EA0;text-decoration: underline;text-underline-offset: 4px }
.home .home__shape { position: absolute;display: block }
.home .home__q-tl { border-radius: 100% 0 0 0 }
.home .home__q-br { border-radius: 0 0 100% 0 }
.home .home__q-bl { border-radius: 0 0 0 100% }
.home .home__drift { animation: home-drift 14s ease-in-out infinite }
.home .home__drift2 { animation: home-drift 18s ease-in-out infinite reverse }
@keyframes home-drift { 0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(10px,-14px) rotate(8deg)} }
.home .home__eco .home__lnk { stroke: #D9D0FA;stroke-width: 2;stroke-dasharray: 5 6;animation: home-march 1.2s linear infinite }
@keyframes home-march { to{stroke-dashoffset:-22} }
.home .home__eco .home__d-call { animation: home-d-call 7s ease-in-out infinite }
.home .home__eco .home__d-p1 { animation: home-d-p1 7s ease-in-out infinite }
.home .home__eco .home__d-p2 { animation: home-d-p2 7s ease-in-out infinite }
.home .home__eco .home__d-p3 { animation: home-d-p3 7s ease-in-out infinite }
.home .home__eco .home__d-p4 { animation: home-d-p4 7s ease-in-out infinite }
.home .home__eco .home__d-back { animation: home-d-back 7s ease-in-out infinite }
.home .home__eco .home__ring { transform-box: fill-box;transform-origin: center;animation: home-ring 7s ease-out infinite }
.home .home__eco .home__ok { transform-box: fill-box;transform-origin: center;animation: home-ok 7s ease-out infinite }
.home .home__eco .home__ok-cab { transform-box: fill-box;transform-origin: center;animation: home-ok-cab 7s ease-out infinite }
.home .home__eco .home__lit { animation: home-lit 7s ease-in-out infinite }
.home .home__eco .home__wave { animation: home-wave 7s ease-out infinite }
@keyframes home-d-call { 0%{transform:translate(0,0);opacity:0}2%{opacity:1}14%{transform:translate(98px,0);opacity:1}15%,100%{transform:translate(98px,0);opacity:0} }
@keyframes home-d-p1 { 0%,19%{transform:translate(0,0);opacity:0}21%{opacity:1}36%{transform:translate(140px,-152px);opacity:1}37%,100%{transform:translate(140px,-152px);opacity:0} }
@keyframes home-d-p2 { 0%,19%{transform:translate(0,0);opacity:0}21%{opacity:1}36%{transform:translate(140px,-54px);opacity:1}37%,100%{transform:translate(140px,-54px);opacity:0} }
@keyframes home-d-p3 { 0%,19%{transform:translate(0,0);opacity:0}21%{opacity:1}36%{transform:translate(140px,44px);opacity:1}37%,100%{transform:translate(140px,44px);opacity:0} }
@keyframes home-d-p4 { 0%,19%{transform:translate(0,0);opacity:0}21%{opacity:1}36%{transform:translate(140px,142px);opacity:1}37%,100%{transform:translate(140px,142px);opacity:0} }
@keyframes home-d-back { 0%,46%{transform:translate(0,0);opacity:0}48%{opacity:1}61%{transform:translate(-160px,0);opacity:1}62%,100%{transform:translate(-160px,0);opacity:0} }
@keyframes home-ring { 0%,13%{transform:scale(1);opacity:0}15%{opacity:.55}32%{transform:scale(1.55);opacity:0}100%{opacity:0} }
@keyframes home-ok { 0%,36%{transform:scale(.3);opacity:0}40%{transform:scale(1.2);opacity:1}43%,90%{transform:scale(1);opacity:1}96%,100%{transform:scale(.3);opacity:0} }
@keyframes home-ok-cab { 0%,61%{transform:scale(.3);opacity:0}65%{transform:scale(1.2);opacity:1}68%,90%{transform:scale(1);opacity:1}96%,100%{transform:scale(.3);opacity:0} }
@keyframes home-lit { 0%,36%{stroke:#E6DFD0}40%,90%{stroke:#4230D6}96%,100%{stroke:#E6DFD0} }
@keyframes home-wave { 0%{opacity:0}3%,12%{opacity:1}16%,100%{opacity:0} }



.home .home__split { display: flex;gap: 16px }
.home .home__side { position: relative;flex: 1 1 0;min-width: 0;height: 600px;border-radius: 28px;overflow: hidden;display: flex;flex-direction: column;justify-content: flex-end;align-items: flex-start;gap: 16px;padding: 40px;box-sizing: border-box;text-decoration: none;transition: flex-grow .6s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease }
.home .home__side-av { background: #4230D6 }
.home .home__side-ec { background: #FF8000 }
.home .home__split:hover .home__side { flex-grow: .8 }
.home .home__split .home__side:hover { flex-grow: 1.35;box-shadow: 0 24px 50px rgba(31,23,102,.22) }
.home .home__side .home__bg { position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: 0;transition: transform 1.2s cubic-bezier(.2,.7,.2,1) }
.home .home__side:hover .home__bg { transform: scale(1.06) }
.home .home__side .home__shade { position: absolute;inset: 0;z-index: 1;pointer-events: none }


.home .home__side .home__t { position: relative;z-index: 2;margin: 0;font-family: 'Baloo 2',sans-serif;font-weight: 800;font-size: 66px;line-height: .95;letter-spacing: -.01em;text-wrap: balance }
.home .home__side p { position: relative;z-index: 2;margin: 0;max-width: 30em;font-size: 16px }
.home .home__side .home__go { position: relative;z-index: 2;display: inline-flex;align-items: center;gap: 12px;padding: 16px 20px;border-radius: 999px;font-weight: 500;font-size: 15px;transition: transform .3s ease }
.home .home__side .home__go svg { transition: transform .3s ease }
.home .home__side:hover .home__go svg { transform: translateX(6px) }
.home .home__side:hover .home__go { transform: translateY(-2px) }
@media (max-width:980px) {
  .home .home__split { flex-direction: column }
  .home .home__split:hover .home__side, .home .home__split .home__side:hover { flex-grow: 1 }
  .home .home__side { height: 540px; flex: 0 0 auto }
}
@media (max-width:640px) {
  .home .home__side { height: 520px;padding: 28px }
  .home .home__side .home__t { font-size: 46px }
}
@media (prefers-reduced-motion:reduce) {
  .home .home__side, .home .home__side .home__bg, .home .home__side .home__go, .home .home__side .home__go svg { transition: none }
}



@media (prefers-reduced-motion:reduce) {
  .home .home__drift, .home .home__drift2, .home .home__eco .home__lnk { animation: none;transition: none }
  .home .home__eco .home__d-call, .home .home__eco .home__d-p1, .home .home__eco .home__d-p2, .home .home__eco .home__d-p3, .home .home__eco .home__d-p4, .home .home__eco .home__d-back, .home .home__eco .home__ring, .home .home__eco .home__wave { animation: none;opacity: 0 }
  .home .home__eco .home__ok, .home .home__eco .home__ok-cab { animation: none;opacity: 1 }
}
@media (max-width: 980px) {
  .home .home__g-hero, .home .home__g-concierge, .home .home__g-services-head { grid-template-columns: minmax(0,1fr)!important }
  .home .home__g-stats, .home .home__g-why { grid-template-columns: repeat(2,minmax(0,1fr))!important }
}
@media (max-width: 640px) {
  .home .home__wrap { padding-left: 20px;padding-right: 20px }
  .home .home__g-feat, .home .home__g-services, .home .home__g-stats, .home .home__g-why { grid-template-columns: minmax(0,1fr)!important }
  .home .home__h1 { font-size: 44px!important }
  .home .home__h2 { font-size: 32px!important }
}

/* 2. Mise en forme des éléments */
.home { font-family: 'Kanit', 'Segoe UI', sans-serif; font-weight: 300; color: #171615; background: #F8F4EC; line-height: 1.6; font-size: 16px; min-width: 0 }
.home .home-hero { padding-block: 88px 96px; overflow: hidden }
.home .home-hero__wrap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 64px; align-items: center }
.home .home-hero__box { display: flex; flex-direction: column; gap: 28px; min-width: 0 }
.home .home-hero__h1 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 64px; line-height: 1.02; letter-spacing: -0.01em; text-wrap: balance }
.home .home-hero__em { font-style: italic; color: #4230D6 }
.home .home-hero__label { color: #4230D6 }
.home .home-hero__text { margin: 0; font-size: 18px; max-width: 34em; color: #3A3734 }
.home .home-hero__box-2 { display: flex; gap: 12px; flex-wrap: wrap }
.home .home-hero__btn { min-height: 52px; padding: 0 28px; font-size: 16px }
.home .home-hero__box-3 { position: relative; min-width: 0 }
.home .home-hero__shape { width: 120px; height: 120px; background: #FF8000; top: -36px; right: -28px }
.home .home-hero__shape-2 { width: 90px; height: 90px; background: #80FFE8; bottom: -30px; left: -30px }
.home .home-hero__shape-3 { width: 54px; height: 54px; border-radius: 50%; background: #C4A9FA; bottom: 40px; right: -22px }
.home .home-hero__eco { position: relative; background: #FFFFFF; border: 1px solid #E6DFD0; border-radius: 20px; padding: 24px 24px 20px; box-shadow: 0 20px 50px rgba(31,23,102,.08) }
.home .home-hero__icon { display: block; width: 100%; height: auto }
.home .home-hero__box-4 { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; padding-top: 12px; margin-top: 4px; border-top: 1px solid #EFE9DD; font-size: 14px; font-weight: 400; color: #4A4744 }
.home .home-hero__label-2 { display: inline-flex; align-items: center; gap: 8px }
.home .home-hero__label-3 { width: 10px; height: 10px; border-radius: 50%; background: #FF8000 }
.home .home-hero__label-4 { width: 10px; height: 10px; border-radius: 50%; background: #4230D6 }
.home .home-hero__label-5 { width: 10px; height: 10px; border-radius: 50%; background: #2BD9BB }
.home .home-je-suis { padding-block: 0 96px }
.home .home-je-suis__wrap { display: flex; flex-direction: column; gap: 28px }
.home .home-je-suis__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1 }
.home .home-je-suis__bg { object-position: 72% 20% }
.home .home-je-suis__shade { background: linear-gradient(to top, #1F1766 0%, rgba(31,23,102,.9) 34%, rgba(31,23,102,.35) 62%, rgba(66,48,214,.08) 100%) }
.home .home-je-suis__shape { width: 90px; height: 90px; background: #80FFE8; right: 0; top: 0; left: auto; border-radius: 0 0 0 100%; z-index: 2 }
.home .home-je-suis__t { color: #FFFFFF }
.home .home-je-suis__text { color: #DCD8F5 }
.home .home-je-suis__go { background: #FFFFFF; color: #4230D6 }
.home .home-je-suis__bg-2 { object-position: 50% 20% }
.home .home-je-suis__shade-2 { background: linear-gradient(to top, #FF8000 0%, rgba(255,128,0,.93) 34%, rgba(255,128,0,.3) 62%, rgba(255,128,0,.05) 100%) }
.home .home-je-suis__shape-2 { width: 90px; height: 90px; background: #4230D6; right: 0; top: 0; left: auto; border-radius: 0 0 0 100%; z-index: 2 }
.home .home-je-suis__t-2 { color: #171615 }
.home .home-je-suis__text-2 { color: #2B1A08 }
.home .home-je-suis__go-2 { background: #171615; color: #FFFFFF }
.home .home-conciergerie { background: #FFFFFF; border-top: 1px solid #E6DFD0; border-bottom: 1px solid #E6DFD0; padding-block: 96px }
.home .home-conciergerie__wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start }
.home .home-conciergerie__box { display: flex; flex-direction: column; gap: 24px; min-width: 0 }
.home .home-conciergerie__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1; text-wrap: balance }
.home .home-conciergerie__text { margin: 0; color: #3A3734 }
.home .home-conciergerie__box-2 { background: #F8F4EC; border-radius: 12px; padding: 24px; font-size: 18px }
.home .home-conciergerie__strong { font-weight: 600; color: #4230D6 }
.home .home-conciergerie__g-feat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid #E6DFD0; border-radius: 16px; overflow: hidden; min-width: 0 }
.home .home-conciergerie__box-3 { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-right: 1px solid #E6DFD0; border-bottom: 1px solid #E6DFD0 }
.home .home-conciergerie__subtitle { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 20px; line-height: 1.2 }
.home .home-conciergerie__text-2 { margin: 0; font-size: 15px; color: #4A4744 }
.home .home-conciergerie__box-4 { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-bottom: 1px solid #E6DFD0 }
.home .home-conciergerie__box-5 { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-right: 1px solid #E6DFD0 }
.home .home-conciergerie__box-6 { display: flex; flex-direction: column; gap: 12px; padding: 28px }
.home .home-chiffres-cyberattaques { background: #1F1766; color: #F8F4EC; padding-block: 88px }
.home .home-chiffres-cyberattaques__wrap { display: flex; flex-direction: column; gap: 48px }
.home .home-chiffres-cyberattaques__box { display: flex; flex-direction: column; gap: 12px; max-width: 720px }
.home .home-chiffres-cyberattaques__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1; color: #FFFFFF }
.home .home-chiffres-cyberattaques__text { margin: 0; color: #C9C3EE }
.home .home-chiffres-cyberattaques__g-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid #3B3196 }
.home .home-chiffres-cyberattaques__box-2 { display: flex; flex-direction: column; gap: 8px; padding: 28px 24px 0 0 }
.home .home-chiffres-cyberattaques__box-3 { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 56px; line-height: 1; color: #C4A9FA; font-variant-numeric: tabular-nums }
.home .home-chiffres-cyberattaques__box-4 { font-weight: 500; color: #FFFFFF }
.home .home-chiffres-cyberattaques__box-5 { color: #C9C3EE; font-size: 15px }
.home .home-chiffres-cyberattaques__box-6 { color: #A49DDB; font-size: 12px; letter-spacing: 0.02em; margin-top: 8px }
.home .home-chiffres-cyberattaques__box-7 { display: flex; flex-direction: column; gap: 8px; padding: 28px 24px 0 24px; border-left: 1px solid #3B3196 }
.home .home-chiffres-cyberattaques__box-8 { display: flex; flex-direction: column; gap: 8px; padding: 28px 0 0 24px; border-left: 1px solid #3B3196 }
.home .home-chiffres-cyberattaques__box-9 { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; background: #2A2180; border-radius: 12px; padding: 24px 28px }
.home .home-chiffres-cyberattaques__text-2 { margin: 0; font-size: 18px; color: #FFFFFF; font-weight: 400 }
.home .home-chiffres-cyberattaques__btn { min-height: 52px; padding: 0 28px; font-size: 16px }
.home .home-services { padding-block: 96px }
.home .home-services__wrap { display: flex; flex-direction: column; gap: 48px }
.home .home-services__g-services-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start }
.home .home-services__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1; text-wrap: balance }
.home .home-services__box { display: flex; flex-direction: column; gap: 16px; color: #3A3734; min-width: 0 }
.home .home-services__text { margin: 0 }
.home .home-services__g-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px }
.home .home-services__box-2 { display: flex; flex-direction: column; gap: 16px; background: #FFFFFF; border: 1px solid #E6DFD0; border-radius: 16px; padding: 32px }
.home .home-services__box-3 { display: flex; align-items: baseline; gap: 16px }
.home .home-services__label { font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 18px; color: #4230D6 }
.home .home-services__subtitle { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 24px; line-height: 1.2 }
.home .home-services__text-2 { margin: 0; color: #3A3734 }
.home .home-services__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 15px; flex-grow: 1 }
.home .home-services__item { display: flex; gap: 12px; align-items: center }
.home .home-services__link-arrow { padding-top: 16px; border-top: 1px solid #EFE9DD }
.home .home-pourquoi { padding-block: 0 96px }
.home .home-pourquoi__wrap { display: flex; flex-direction: column; gap: 40px }
.home .home-pourquoi__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1 }
.home .home-pourquoi__g-why { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px }
.home .home-pourquoi__box { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 2px solid #171615 }
.home .home-pourquoi__subtitle { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 20px; line-height: 1.2 }
.home .home-pourquoi__text { margin: 0; font-size: 15px; color: #4A4744 }
.home .home-cta-final { padding-block: 0 96px }
.home .home-cta-final__box { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; background: #4230D6; color: #FFFFFF; border-radius: 20px; padding: 56px }
.home .home-cta-final__box-2 { display: flex; flex-direction: column; gap: 12px; max-width: 620px; min-width: 0 }
.home .home-cta-final__h2 { margin: 0; font-family: 'Baloo 2', sans-serif; font-weight: 800; font-size: 40px; line-height: 1.1; color: #FFFFFF; text-wrap: balance }
.home .home-cta-final__text { margin: 0; color: #E4DEFD; font-size: 18px }
.home .home-cta-final__box-3 { display: flex; gap: 12px; flex-wrap: wrap }
.home .home-cta-final__btn { min-height: 52px; padding: 0 28px; font-size: 16px; border: 1.5px solid #FFFFFF; color: #FFFFFF }
.home .home-cta-final__btn-2 { min-height: 52px; padding: 0 28px; font-size: 16px; background: #FFFFFF; color: #4230D6 }
