:root{
  --bg:#031426;
  --bg2:#061d35;
  --panel:#08243f;
  --panel2:#0b2b4b;
  --line:rgba(114,174,229,.24);
  --line-strong:rgba(49,148,255,.46);
  --text:#f7fbff;
  --muted:#a9bed2;
  --blue:#1184ff;
  --blue2:#3ba2ff;
  --green:#3ee89e;
  --shadow:0 24px 70px rgba(0,0,0,.28);
  --radius:24px;
  --container:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#04172b 0%,#041426 48%,#031121 100%);color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 72px));margin-inline:auto}
.page-glow{position:fixed;pointer-events:none;border-radius:50%;filter:blur(110px);opacity:.22;z-index:-1}.glow-a{width:520px;height:520px;background:#117fff;right:-170px;top:22vh}.glow-b{width:420px;height:420px;background:#075aa8;left:-150px;top:60vh}
.site-header{position:absolute;inset:0 0 auto;z-index:50;padding:18px 0}.nav-shell{height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em;width:max-content}.brand-mark{width:33px;height:38px;fill:none;stroke:var(--blue);stroke-width:2.4}.brand-word{font-size:28px}.brand-word span{color:var(--blue)}.main-nav{display:flex;gap:44px;align-items:center}.main-nav a{font-size:15px;font-weight:650;color:#eef7ff;position:relative;padding:14px 2px}.main-nav a:after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:2px;background:var(--blue);transition:.25s}.main-nav a:hover:after{left:0;right:0}.desktop-cta{justify-self:end}.menu-toggle{display:none;background:transparent;border:0;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:5px;border-radius:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:54px;padding:0 24px;border-radius:9px;background:linear-gradient(135deg,#1188ff,#086ef0);border:1px solid rgba(72,161,255,.7);box-shadow:0 12px 28px rgba(0,105,255,.18);font-weight:750;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,111,255,.28)}.btn-small{min-height:46px;padding:0 20px}.btn-ghost{background:rgba(4,22,40,.58);box-shadow:none;border-color:#2f91ed}.btn-ghost:hover{background:rgba(15,66,108,.65)}
.hero{position:relative;min-height:890px;padding:132px 0 34px;background:#061b31;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,20,38,.98) 0%,rgba(3,20,38,.93) 28%,rgba(3,20,38,.50) 51%,rgba(3,20,38,.22) 72%,rgba(3,20,38,.56) 100%),linear-gradient(180deg,rgba(3,20,38,.08) 45%,#061b31 100%),url('../assets/server-room-hd.jpg');background-size:cover;background-position:69% 50%;filter:saturate(1.12) contrast(1.05);z-index:-3}.hero-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(54,136,215,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(54,136,215,.055) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%);z-index:-2}.hero-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.72fr);gap:88px;align-items:center;min-height:545px}.eyebrow{margin:0 0 18px;color:var(--blue2);font-size:13px;font-weight:850;letter-spacing:.12em}.hero h1{font-size:clamp(58px,5.4vw,88px);line-height:.97;letter-spacing:-.045em;margin:0 0 28px;max-width:830px;text-shadow:0 2px 12px rgba(0,0,0,.25)}.hero h1 span,.why-copy h2 span,.contact h2 span{color:var(--blue)}.hero-lead{max-width:610px;color:#d5e1ec;font-size:18px;line-height:1.66;margin:0}.hero-actions{display:flex;gap:16px;margin-top:30px}.hero-pills{display:flex;gap:26px;flex-wrap:wrap;margin-top:26px;color:#b7cadb;font-size:14px}.hero-pills i{font-style:normal;color:#44adff;font-weight:900;margin-right:7px}
.hero-service-panel{position:relative;padding:28px 30px;border:1px solid rgba(93,171,244,.43);border-radius:20px;background:linear-gradient(145deg,rgba(7,35,62,.93),rgba(4,24,44,.84));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px);overflow:hidden}.panel-shine{position:absolute;inset:-2px;background:radial-gradient(circle at 20% 0,rgba(24,133,255,.18),transparent 33%);pointer-events:none}.quick-service{position:relative;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid rgba(143,192,232,.11)}.quick-service:last-child{border-bottom:0}.quick-icon,.feature-icon,.service-icon{color:var(--blue);font-weight:900}.quick-icon{font-size:28px;text-align:center}.quick-service b{font-size:16px;display:block;margin-bottom:5px}.quick-service small{color:#a9bfd3;font-size:12px}.hero-feature-bar{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(90,164,228,.29);background:linear-gradient(180deg,rgba(8,39,67,.90),rgba(5,29,51,.88));border-radius:18px;overflow:hidden;box-shadow:0 18px 46px rgba(0,0,0,.16);backdrop-filter:blur(10px)}.hero-feature-bar>div{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:25px 24px;border-right:1px solid rgba(126,178,221,.18)}.hero-feature-bar>div:last-child{border-right:0}.feature-icon{font-size:31px}.hero-feature-bar p{margin:0}.hero-feature-bar b{display:block;font-size:15px;margin-bottom:9px}.hero-feature-bar small{display:block;color:#b3c6d7;line-height:1.55;font-size:12px}
.section{padding:92px 0}.why{background:linear-gradient(180deg,#061b31,#05172b)}.why-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:center}.office-card{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(98,172,239,.24);box-shadow:var(--shadow);min-height:360px}.office-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(2,18,32,.36))}.office-card img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.office-badge{position:absolute;z-index:2;left:24px;bottom:24px;display:flex;gap:12px;align-items:center;padding:15px 18px;border-radius:14px;background:linear-gradient(135deg,#158dff,#056df3);box-shadow:0 12px 30px rgba(0,92,239,.36)}.office-badge svg{width:29px;height:29px;fill:none;stroke:white;stroke-width:1.8}.office-badge span{display:grid}.office-badge b{font-size:14px}.office-badge small{opacity:.84;margin-top:2px}.why-copy h2,.section-heading h2,.contact h2{font-size:clamp(38px,4vw,60px);line-height:1.04;letter-spacing:-.035em;margin:0 0 22px}.why-copy>p:not(.eyebrow){color:#c6d5e3;line-height:1.75;max-width:760px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}.benefit-grid article{display:grid;grid-template-columns:34px 1fr;gap:12px;padding-right:16px;border-right:1px solid rgba(104,169,222,.19)}.benefit-grid article:last-child{border:0}.benefit-grid article>span{color:var(--blue);font-size:30px}.benefit-grid b{display:block;margin-bottom:7px}.benefit-grid small{color:#afc3d5;line-height:1.5}.cert-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;padding:14px 16px;border:1px solid rgba(74,156,231,.26);border-radius:12px;background:rgba(8,39,67,.56);color:#bcd0e2;font-size:13px}.cert-line span{color:#7fbfff}.cert-line b{color:white}.cert-line i{font-style:normal;color:#448bc7}
.services-section{background:#041426}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-heading>p{max-width:570px;color:#afc4d6;line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;padding:30px;border:1px solid rgba(91,164,229,.22);background:linear-gradient(150deg,rgba(9,39,66,.88),rgba(5,26,47,.86));border-radius:19px;min-height:300px;overflow:hidden;transition:.25s}.service-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(20,132,255,.12);filter:blur(55px);top:-90px;right:-80px;transition:.3s}.service-card:hover{transform:translateY(-6px);border-color:rgba(51,150,242,.52);box-shadow:0 22px 48px rgba(0,0,0,.2)}.service-card:hover:before{background:rgba(20,132,255,.22)}.card-num{position:absolute;right:24px;top:22px;color:rgba(165,206,242,.28);font-weight:800}.service-icon{font-size:34px;margin-bottom:20px}.service-card h3{font-size:20px;margin:0 0 12px}.service-card p{color:#b8cbdb;line-height:1.65;margin:0}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tags span{font-size:11px;padding:6px 9px;border:1px solid rgba(64,150,231,.24);border-radius:999px;color:#8fc8fa;background:rgba(17,105,184,.10)}
.partners{padding:0 0 66px;background:#041426}.partner-title{text-align:center;color:#3c9eff;font-size:11px;letter-spacing:.1em;font-weight:850;margin:0 0 -8px;position:relative;z-index:3}.partner-marquee{width:min(var(--container),calc(100% - 72px));margin:auto;border:1px solid rgba(92,164,226,.27);border-radius:18px;background:linear-gradient(180deg,rgba(9,40,68,.9),rgba(6,29,50,.9));overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.partner-track{display:flex;width:max-content;animation:marquee 31s linear infinite}.partner-set{display:flex;align-items:center;gap:52px;padding:16px 28px}.partner-set img{height:38px;width:auto;max-width:190px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.12))}.partner-marquee:hover .partner-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.contact{padding-top:24px;background:linear-gradient(180deg,#041426,#031120)}.contact-card{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;padding:54px;border:1px solid rgba(82,157,224,.28);border-radius:26px;background:radial-gradient(circle at 12% 0,rgba(20,127,242,.18),transparent 30%),linear-gradient(145deg,rgba(8,39,68,.94),rgba(4,23,42,.94));box-shadow:var(--shadow);overflow:hidden}.contact-card:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(43,137,221,.15);border-radius:50%;right:-230px;bottom:-280px;box-shadow:0 0 0 40px rgba(21,107,188,.04),0 0 0 90px rgba(21,107,188,.025)}.contact-card>div,.security-note{position:relative;z-index:1}.contact-card p{color:#b8cbdc;line-height:1.7;max-width:700px}.contact-options{display:grid;gap:12px;align-content:center}.contact-option{display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:12px;padding:16px 18px;border:1px solid rgba(91,164,229,.27);background:rgba(4,25,45,.54);border-radius:13px;transition:.22s}.contact-option:hover{transform:translateX(4px);border-color:#2f92ee;background:rgba(7,46,78,.74)}.contact-option>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:rgba(17,132,255,.12);color:#49a8ff;font-weight:850}.contact-option div{display:grid}.contact-option small{color:#9fb6c9;margin-bottom:3px}.contact-option b{font-size:15px}.contact-option i{font-style:normal;color:#55adfb}.security-note{grid-column:1/-1;margin:0!important;padding-top:6px;font-size:12px!important;color:#87a8c2!important}.security-note span{color:var(--green);font-weight:900;margin-right:7px}
.site-footer{padding:54px 0 18px;background:#020f1d;border-top:1px solid rgba(91,157,213,.16)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr .9fr;gap:50px}.footer-brand p{color:#8fa9bd;line-height:1.7;font-size:13px}.footer-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:3px 0 16px}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px}.footer-grid a,.footer-grid span{font-size:13px;color:#a9bdcf}.footer-grid a:hover{color:white}.footer-bottom{text-align:center;color:#7892a8;font-size:12px;padding-top:34px;margin-top:34px;border-top:1px solid rgba(99,158,207,.12)}.to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:0;border-radius:50%;background:#0c7df6;color:white;font-size:20px;box-shadow:0 10px 24px rgba(0,92,225,.32);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:40}.to-top.show{opacity:1;pointer-events:auto;transform:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.in{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:1100px){.container{width:min(var(--container),calc(100% - 42px))}.nav-shell{grid-template-columns:1fr auto}.main-nav,.desktop-cta{display:none}.menu-toggle{display:block;justify-self:end;z-index:52}.main-nav.open{display:flex;position:absolute;left:21px;right:21px;top:78px;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:rgba(3,23,42,.97);border:1px solid rgba(84,156,220,.3);border-radius:16px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.main-nav.open a{padding:14px 12px;border-bottom:1px solid rgba(103,163,213,.12)}.main-nav.open a:last-child{border:0}.hero{padding-top:110px;min-height:auto}.hero-layout{grid-template-columns:1fr;gap:28px}.hero-copy{max-width:720px}.hero h1{font-size:clamp(52px,8vw,78px)}.hero-service-panel{max-width:650px}.hero-photo{background-position:62% center}.hero-feature-bar{grid-template-columns:repeat(2,1fr);margin-top:34px}.hero-feature-bar>div{border-bottom:1px solid rgba(126,178,221,.18)}.hero-feature-bar>div:nth-child(2n){border-right:0}.hero-feature-bar>div:last-child{grid-column:1/-1}.why-grid{grid-template-columns:1fr}.office-card{min-height:420px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.contact-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}.partner-marquee{width:calc(100% - 42px)}}
@media(max-width:700px){.container{width:calc(100% - 28px)}.site-header{padding:10px 0}.nav-shell{height:54px}.brand-word{font-size:21px}.brand-mark{width:27px;height:31px}.hero{padding-top:84px}.hero-photo{background-image:linear-gradient(180deg,rgba(3,20,38,.25) 0%,rgba(3,20,38,.63) 34%,#061b31 72%),linear-gradient(90deg,rgba(3,20,38,.70),rgba(3,20,38,.24)),url('../assets/server-room-hd.jpg');background-position:71% top;background-size:auto 460px;background-repeat:no-repeat}.hero-layout{min-height:0}.hero h1{font-size:clamp(42px,13vw,62px);line-height:.96;margin-bottom:20px}.hero-lead{font-size:15px;line-height:1.6}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:22px}.btn{width:100%}.hero-pills{gap:11px 18px;font-size:12px}.hero-service-panel{padding:17px 18px;border-radius:16px}.quick-service{padding:11px 0;grid-template-columns:34px 1fr}.quick-icon{font-size:22px}.quick-service b{font-size:13px}.quick-service small{font-size:10px}.hero-feature-bar{grid-template-columns:1fr;margin-top:22px}.hero-feature-bar>div{border-right:0;padding:18px}.hero-feature-bar>div:last-child{grid-column:auto}.section{padding:62px 0}.why-grid{gap:34px}.office-card{min-height:280px}.office-badge{left:14px;bottom:14px;padding:11px 13px}.office-badge small{font-size:10px}.why-copy h2,.section-heading h2,.contact h2{font-size:36px}.benefit-grid{grid-template-columns:1fr 1fr;gap:20px}.benefit-grid article{border:0;padding:0}.section-heading{display:block}.section-heading>p{margin-top:18px}.services-grid{grid-template-columns:1fr}.service-card{min-height:auto}.partner-marquee{width:calc(100% - 28px)}.partner-set{gap:32px;padding:12px 18px}.partner-set img{height:31px;max-width:150px}.contact-card{padding:28px 20px;gap:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.to-top{right:14px;bottom:14px;width:42px;height:42px}}
@media(max-width:460px){.hero h1{font-size:41px}.eyebrow{font-size:10px;letter-spacing:.1em}.benefit-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.office-card{min-height:225px}.office-card img{object-position:center}.cert-line{font-size:11px}.hero-pills span{width:calc(50% - 10px)}}

/* ===== OneSafe V7 — zone claire + interactions souris discrètes ===== */
.hero{
  --mouse-x:68%;
  --mouse-y:26%;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(420px circle at var(--mouse-x) var(--mouse-y),rgba(31,142,255,.15),transparent 62%);
  transition:opacity .25s ease;
}
.hero-photo{transition:transform .28s ease-out,filter .28s ease-out}

/* La partie centrale redevient claire et rassurante */
.why,
.services-section,
.partners,
.contact{
  background:#f5f8fc;
  color:#071a31;
}
.why{padding-top:88px;padding-bottom:70px;border-top:1px solid #e4ebf3}
.why-grid-single{display:block;max-width:1120px}
.why-grid-single .why-copy{text-align:center}
.why-grid-single .why-copy>p:not(.eyebrow){color:#52677e;max-width:850px;margin:0 auto;line-height:1.75}
.why-grid-single .benefit-grid{margin:42px auto 0;max-width:1050px}
.why-grid-single .benefit-grid article{border-right:1px solid #dce5ef;text-align:left}
.why-grid-single .benefit-grid article:last-child{border:0}
.why-grid-single .benefit-grid small{color:#60758a}
.why-grid-single .eyebrow{color:#087bfa}

.services-section{padding-top:72px}
.services-section .section-heading>p{color:#5e7287}
.services-section .eyebrow{color:#087bfa}
.service-card{
  background:#fff;
  border-color:#dfe8f1;
  box-shadow:0 16px 42px rgba(13,45,78,.07);
  color:#071a31;
  transform-style:preserve-3d;
  will-change:transform;
}
.service-card p{color:#5e7185}
.service-card .card-num{color:rgba(15,124,245,.18)}
.service-card .tags span{color:#0878e9;border-color:#cfe3f8;background:#f2f8ff}
.service-card:hover{border-color:#a9d1f8;box-shadow:0 23px 55px rgba(13,72,131,.12)}
.service-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(260px circle at var(--card-x,50%) var(--card-y,50%),rgba(18,132,255,.10),transparent 65%);
  transition:opacity .2s ease;
}
.service-card.mouse-active::after{opacity:1}

.partners{padding-top:8px;padding-bottom:72px}
.partner-title{color:#087bfa}
.partner-marquee{
  background:#fff;
  border-color:#dfe8f1;
  box-shadow:0 14px 38px rgba(12,44,78,.07);
}

.contact{padding-top:10px;padding-bottom:90px}
.contact-card{
  color:#071a31;
  background:linear-gradient(145deg,#ffffff,#f7fbff);
  border-color:#dbe6f1;
  box-shadow:0 22px 60px rgba(12,45,79,.10);
}
.contact-card:after{border-color:rgba(27,129,240,.10);box-shadow:0 0 0 40px rgba(21,107,188,.025),0 0 0 90px rgba(21,107,188,.018)}
.contact-card p{color:#5a7085}
.contact-card .eyebrow{color:#087bfa}
.contact-option{
  background:#f7fbff;
  border-color:#d8e5f1;
  color:#071a31;
}
.contact-option:hover{background:#eef7ff;border-color:#7bbcff}
.contact-option small{color:#687d91}
.contact-option>span{background:#edf6ff;color:#1485f8}
.contact-option.gmail-link{border-color:#b9d9fb;background:#fff}
.contact-option.gmail-link:hover{border-color:#5ea9f6;background:#f7fbff}
.contact-option .gmail-icon{background:#fff;border:1px solid #e6ebf0;padding:7px}
.contact-option .gmail-icon svg{width:25px;height:19px;display:block}

/* Trait de transition entre le hero bleu et la zone claire */
.hero + .why{box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}

@media(max-width:1100px){
  .why-grid-single{max-width:none}
}
@media(max-width:700px){
  .why{padding-top:58px;padding-bottom:50px}
  .why-grid-single .why-copy{text-align:left}
  .why-grid-single .why-copy>p:not(.eyebrow){margin:0}
  .why-grid-single .benefit-grid{margin-top:30px}
  .why-grid-single .benefit-grid article{border:0}
  .services-section{padding-top:52px}
  .contact{padding-bottom:62px}
}

/* V8 — bandeau partenaires plus lisible sur fond clair */
.partner-marquee{
  mask-image:none;
  -webkit-mask-image:none;
  background:#fff;
  border:1px solid #d7e3ee;
  box-shadow:0 12px 32px rgba(9,42,76,.09);
  position:relative;
}
.partner-marquee::before,
.partner-marquee::after{
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  width:24px;
  pointer-events:none;
}
.partner-marquee::before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.partner-marquee::after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.partner-set{gap:54px;padding:17px 34px}
.partner-set img{
  height:38px;
  max-width:205px;
  opacity:1;
  filter:none;
}
@media(max-width:700px){
  .partner-set{gap:36px;padding:13px 24px}
  .partner-set img{height:31px;max-width:165px}
  .partner-marquee::before,.partner-marquee::after{width:13px}
}

/* ===== OneSafe V9 — transition premium sombre -> clair ===== */
/* Le hero conserve son identité sombre, mais sa partie basse se fond progressivement
   dans un bleu brumeux afin d'éviter une rupture visuelle avec la zone claire. */
.hero{
  padding-bottom:74px;
  box-shadow:
    inset 0 -175px 130px -108px rgba(190,216,237,.86),
    inset 0 -72px 58px -44px rgba(229,239,247,.92);
}

/* Le bandeau de services sert de pont entre les deux univers. */
.hero-feature-bar{
  position:relative;
  z-index:6;
  top:48px;
  border-color:rgba(116,180,232,.42);
  box-shadow:
    0 22px 58px rgba(2,24,46,.22),
    0 1px 0 rgba(255,255,255,.06) inset;
}

/* Transition en plusieurs niveaux : bleu brume -> blanc bleuté, jamais blanc pur. */
.hero + .why{
  box-shadow:none;
}
.why{
  margin-top:0;
  padding-top:150px;
  padding-bottom:74px;
  border-top:0;
  background:
    radial-gradient(900px 260px at 50% 0%,rgba(255,255,255,.70),transparent 72%),
    linear-gradient(180deg,#dbe8f3 0%,#e8f1f8 19%,#f2f7fb 44%,#f6f9fc 100%);
}

/* Une trame réseau très subtile maintient le lien visuel avec l'univers du hero. */
.why::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:230px;
  pointer-events:none;
  opacity:.23;
  background-image:
    linear-gradient(rgba(26,118,201,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(26,118,201,.07) 1px,transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 92%);
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
.why{position:relative;overflow:hidden}
.why > .container{position:relative;z-index:1}

/* Le reste de la zone claire garde un blanc légèrement bleuté, plus doux pour les yeux. */
.services-section{
  background:linear-gradient(180deg,#f6f9fc 0%,#f3f7fb 100%);
}
.partners{
  background:#f3f7fb;
}
.contact{
  background:linear-gradient(180deg,#f3f7fb 0%,#eef4f9 72%,#e6eff7 100%);
}

/* Les cartes blanches restent lumineuses sans devenir éblouissantes. */
.service-card,
.partner-marquee,
.contact-card{
  background-color:#fbfdff;
}

/* La remontée vers le footer sombre est elle aussi un peu plus progressive. */
.site-footer{
  position:relative;
  background:linear-gradient(180deg,#0a2239 0%,#051726 16%,#020f1d 52%);
  border-top-color:rgba(79,139,191,.20);
}

@media(max-width:1100px){
  .hero{padding-bottom:62px;box-shadow:inset 0 -145px 112px -90px rgba(199,221,238,.82),inset 0 -58px 46px -34px rgba(231,241,248,.90)}
  .hero-feature-bar{top:38px}
  .why{padding-top:126px}
}
@media(max-width:700px){
  .hero{padding-bottom:48px;box-shadow:inset 0 -112px 88px -68px rgba(197,220,238,.80),inset 0 -42px 36px -25px rgba(232,241,248,.90)}
  .hero-feature-bar{top:28px}
  .why{padding-top:94px;padding-bottom:52px}
  .why::before{height:165px;background-size:54px 54px;opacity:.18}
}


/* ===== Safe Activity — ajustements de marque ===== */
.brand-word{
  white-space:nowrap;
  letter-spacing:-.04em;
}
@media(max-width:460px){
  .brand-word{font-size:18px}
}

/* Liens légaux discrets dans le footer */
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  text-align:center;
}
.legal-links{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.legal-links a{
  color:#91a8bc;
  font-size:11px;
  text-decoration:none;
  transition:color .2s ease;
}
.legal-links a:hover{color:#fff}

/* ===== Pages légales ===== */
.legal-body{
  background:#f3f7fb;
  color:#071a31;
}
.legal-header{
  position:relative;
  background:#061b31;
  border-bottom:1px solid rgba(118,177,226,.16);
}
.legal-header .nav-shell{height:76px}
.legal-back{
  color:#bdd3e7;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  transition:color .2s ease;
}
.legal-back:hover{color:#fff}
.legal-main{min-height:70vh}
.legal-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 64px;
  color:#fff;
  background:
    radial-gradient(620px 270px at 80% 20%,rgba(15,126,245,.20),transparent 70%),
    linear-gradient(145deg,#061b31 0%,#092b4a 100%);
}
.legal-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.20;
  background-image:
    linear-gradient(rgba(72,150,220,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(72,150,220,.12) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000,transparent);
  mask-image:linear-gradient(90deg,transparent,#000,transparent);
}
.legal-hero .container{position:relative;z-index:1}
.legal-hero .eyebrow{color:#54a9ff}
.legal-hero h1{
  margin:8px 0 13px;
  font-size:clamp(42px,6vw,68px);
  line-height:1;
  letter-spacing:-2px;
}
.legal-hero p:last-child{
  max-width:720px;
  margin:0;
  color:#b8ccdd;
  line-height:1.7;
}
.legal-content{
  padding:64px 0 90px;
  background:linear-gradient(180deg,#edf4fa 0%,#f7fafc 100%);
}
.legal-layout{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.legal-card{
  padding:30px 32px;
  border:1px solid #dbe6ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 38px rgba(12,45,79,.06);
}
.legal-card h2{
  margin:0 0 17px;
  color:#0b2239;
  font-size:20px;
}
.legal-card p{
  margin:0 0 11px;
  color:#5b7084;
  line-height:1.7;
  font-size:14px;
}
.legal-card p:last-child{margin-bottom:0}
.legal-card strong{color:#1b344d}
.legal-card a{color:#087bfa;text-decoration:none}
.legal-card a:hover{text-decoration:underline}
.legal-pending{
  margin-top:22px;
  padding:16px 18px;
  border:1px dashed #d8b765;
  border-radius:13px;
  background:#fffaf0;
}
.legal-pending strong{display:block;margin-bottom:5px;color:#7c5b11}
.legal-pending p{color:#806b3d;font-size:12px}
.legal-footer{padding-top:34px}
.legal-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding-bottom:30px;
}
.legal-footer-nav{display:flex;gap:22px;flex-wrap:wrap}
.legal-footer-nav a{
  color:#91a8bc;
  font-size:12px;
  text-decoration:none;
}
.legal-footer-nav a:hover{color:#fff}
@media(max-width:800px){
  .legal-layout{grid-template-columns:1fr}
  .legal-hero{padding:54px 0 48px}
  .legal-content{padding:42px 0 62px}
  .legal-footer-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .legal-card{padding:24px 20px}
  .legal-back{font-size:11px}
  .legal-header .brand-word{font-size:18px}
}




/* ===== SAFE ACTIVITY — bouclier premium V4 ===== */
.brand-mark-premium{
  width:34px;
  height:38px;
  flex:0 0 auto;
  overflow:visible;
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,.40))
    drop-shadow(0 0 7px rgba(14,132,255,.82))
    drop-shadow(0 0 15px rgba(14,132,255,.30));
  transition:filter .25s ease, transform .25s ease;
}
.brand:hover .brand-mark-premium{
  transform:translateY(-1px);
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,.58))
    drop-shadow(0 0 10px rgba(14,132,255,.95))
    drop-shadow(0 0 19px rgba(14,132,255,.40));
}
.brand-mark-premium .shield-glow{
  fill:none;
  stroke:#118aff;
  stroke-width:7;
  opacity:.18;
  filter:blur(3px);
}
.brand-mark-premium .shield-outer{
  fill:url(#sa-inner);
  stroke:url(#sa-silver);
  stroke-width:3.5;
  stroke-linejoin:round;
}
.brand-mark-premium .shield-blue{
  fill:none;
  stroke:url(#sa-blue);
  stroke-width:3.4;
  stroke-linejoin:round;
}
.brand-mark-premium .shield-inner{
  fill:url(#sa-inner);
  stroke:rgba(255,255,255,.10);
  stroke-width:1;
}
.brand-mark-premium .shield-highlight{
  fill:none;
  stroke:#ffffff;
  stroke-width:1.8;
  stroke-linecap:round;
  opacity:.72;
}
.brand-mark-premium .shield-check{
  fill:none;
  stroke:#ffffff;
  stroke-width:5.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 3px rgba(255,255,255,.30));
}

/* un peu plus grand dans le footer, comme sur la maquette */
.site-footer .brand-mark-premium,
.legal-footer .brand-mark-premium{
  width:38px;
  height:43px;
}

/* lisibilité marque */
.brand-word{
  color:#ffffff !important;
}
.brand-word span{
  color:#1687ff !important;
}

.legal-registration{
  margin-top:22px;
  padding:17px 19px;
  border:1px solid #dbe6ef;
  border-radius:13px;
  background:#f7fbff;
}
.legal-registration > strong{
  display:block;
  margin-bottom:8px;
  color:#087bfa;
}
.legal-registration p{
  margin:0;
  color:#5b7084;
  line-height:1.75;
}
.legal-registration p strong{color:#1b344d}


/* Google Workspace dans le bandeau Technologies & Écosystèmes */
.google-workspace-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  margin-right:8px;
  font-size:26px;
  line-height:1;
  font-weight:800;
  font-family:Arial,Helvetica,sans-serif;
  color:#4285f4;
  vertical-align:middle;
}


/* ===== V9 — corrections lisibilité + blocs hero plus vivants ===== */

/* Le titre respire davantage entre les lignes : le "i" d'informatique ne touche plus la ligne précédente. */
.hero h1{
  line-height:1.06;
}
.hero h1 span{
  display:inline-block;
  padding-top:.035em;
}

/* Panneau vertical : chaque service devient une ligne interactive et lumineuse. */
.hero-service-panel{
  background:
    radial-gradient(420px 190px at 18% 0%,rgba(20,137,255,.17),transparent 62%),
    linear-gradient(145deg,rgba(7,35,62,.95),rgba(4,24,44,.88));
}
.quick-service{
  grid-template-columns:40px 1fr 22px;
  margin:0 -12px;
  padding:15px 12px;
  border-radius:12px;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
}
.quick-service:hover{
  transform:translateX(5px);
  background:linear-gradient(90deg,rgba(16,128,244,.15),rgba(16,128,244,.035));
  box-shadow:inset 3px 0 0 #1687ff;
}
.quick-icon{
  filter:drop-shadow(0 0 7px rgba(22,135,255,.35));
}
.quick-arrow{
  color:#1687ff;
  font-size:29px;
  font-weight:300;
  line-height:1;
  opacity:.38;
  transform:translateX(-4px);
  transition:opacity .22s ease,transform .22s ease;
}
.quick-service:hover .quick-arrow{
  opacity:1;
  transform:translateX(2px);
}

/* Barre horizontale : séparation moins "tableau", effet carte et léger mouvement. */
.hero-feature-bar{
  gap:1px;
  padding:1px;
  background:rgba(80,158,224,.22);
}
.hero-feature-bar>div{
  position:relative;
  border-right:0;
  background:linear-gradient(145deg,rgba(7,35,62,.97),rgba(5,29,51,.94));
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;
  overflow:hidden;
}
.hero-feature-bar>div::after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#1687ff,transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .22s ease,transform .22s ease;
}
.hero-feature-bar>div:hover{
  z-index:2;
  transform:translateY(-4px);
  background:linear-gradient(145deg,rgba(10,49,84,.99),rgba(5,31,55,.97));
  box-shadow:0 12px 28px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05);
}
.hero-feature-bar>div:hover::after{
  opacity:1;
  transform:scaleX(1);
}
.hero-feature-bar .feature-icon{
  filter:drop-shadow(0 0 7px rgba(22,135,255,.35));
  transition:transform .22s ease;
}
.hero-feature-bar>div:hover .feature-icon{
  transform:scale(1.10);
}

/* Logos partenaires : pas de rognage du contenu des SVG. */
.partner-set img{
  max-width:none;
  flex:0 0 auto;
}

@media(max-width:700px){
  .hero h1{line-height:1.04}
  .quick-service{grid-template-columns:34px 1fr 18px}
  .quick-arrow{font-size:24px}
  .partner-set img{max-width:none}
}


/* ===== V10 — blocs services selon la maquette validée ===== */

/* Google : réserve de largeur supplémentaire pour éviter toute coupe du "e". */
.partner-set img[src*="googleworkspace"]{
  width:126px !important;
  min-width:126px !important;
  object-fit:contain;
  overflow:visible;
}

/* Bloc vertical du hero : panneau premium, lignes espacées, icônes + flèches lumineuses. */
.hero-service-panel{
  padding:12px 22px !important;
  border:1px solid rgba(41,154,255,.62) !important;
  border-radius:22px !important;
  background:
    radial-gradient(420px 230px at 5% 0%,rgba(17,128,255,.18),transparent 65%),
    linear-gradient(145deg,rgba(5,34,61,.98),rgba(3,23,43,.96)) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 0 28px rgba(0,113,255,.08);
}
.hero-service-panel .quick-service{
  position:relative;
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) 28px !important;
  align-items:center !important;
  gap:16px !important;
  margin:0 !important;
  padding:17px 8px !important;
  border-radius:0 !important;
  border-bottom:1px solid rgba(120,177,224,.14) !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}
.hero-service-panel .quick-service:last-child{
  border-bottom:0 !important;
}
.hero-service-panel .quick-service::before{
  content:"";
  position:absolute;
  left:-22px;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:4px;
  background:#1687ff;
  opacity:0;
  box-shadow:0 0 12px #1687ff;
  transition:opacity .22s ease;
}
.hero-service-panel .quick-service:hover{
  background:linear-gradient(90deg,rgba(13,120,234,.11),transparent 82%) !important;
}
.hero-service-panel .quick-service:hover::before{opacity:1}
.hero-service-panel .quick-icon{
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:28px !important;
  color:#1687ff !important;
  filter:drop-shadow(0 0 7px rgba(22,135,255,.48));
}
.hero-service-panel .quick-service h3{
  margin:0 0 5px !important;
  font-size:17px !important;
  color:#fff !important;
}
.hero-service-panel .quick-service p{
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
  color:#b9cadd !important;
}
.hero-service-panel .quick-arrow{
  justify-self:end;
  color:#1687ff !important;
  font-size:34px !important;
  opacity:1 !important;
  transform:none !important;
  text-shadow:0 0 9px rgba(22,135,255,.55);
}

/* Bloc horizontal : vraies cartes individuelles lumineuses comme la maquette. */
.hero-feature-bar{
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:38px !important;
  padding:28px 36px 24px !important;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(700px 120px at 50% 0%,rgba(0,132,255,.20),transparent 68%),
    linear-gradient(180deg,#03172b,#041b31) !important;
  overflow:visible !important;
}
.hero-feature-bar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background:
    radial-gradient(circle at 10% 55%,#1687ff 0 1px,transparent 2px),
    radial-gradient(circle at 30% 35%,#1687ff 0 1px,transparent 2px),
    radial-gradient(circle at 70% 65%,#1687ff 0 1px,transparent 2px),
    linear-gradient(90deg,transparent 0 48%,rgba(22,135,255,.16) 50%,transparent 52%);
}
.hero-feature-bar>div{
  position:relative !important;
  min-height:190px;
  padding:48px 18px 20px !important;
  border:1px solid rgba(36,148,255,.72) !important;
  border-radius:13px !important;
  background:
    linear-gradient(145deg,rgba(8,45,78,.98),rgba(4,26,48,.98)) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 0 16px rgba(22,135,255,.10) !important;
  overflow:visible !important;
  text-align:center;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease !important;
}
.hero-feature-bar>div:hover{
  transform:translateY(-6px) !important;
  border-color:#37a4ff !important;
  box-shadow:
    0 17px 34px rgba(0,0,0,.28),
    0 0 22px rgba(22,135,255,.24),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.hero-feature-bar>div::before{
  content:"";
  position:absolute;
  top:-1px;
  left:-1px;
  width:28px;
  height:28px;
  border-radius:12px 0 18px 0;
  background:linear-gradient(135deg,#24a3ff,#0b70ff);
  box-shadow:0 0 10px rgba(22,135,255,.45);
}
.hero-feature-bar>div::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:13px;
  width:28px;
  height:2px;
  transform:translateX(-50%) !important;
  background:#1687ff !important;
  opacity:.95 !important;
  box-shadow:0 0 8px rgba(22,135,255,.55);
}
.hero-feature-bar .feature-icon{
  position:absolute !important;
  top:-23px;
  left:50%;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid #1687ff;
  border-radius:50%;
  background:#05203b;
  color:#1687ff;
  font-size:25px;
  box-shadow:
    0 0 0 5px rgba(22,135,255,.07),
    0 0 16px rgba(22,135,255,.58);
}
.hero-feature-bar>div:hover .feature-icon{
  transform:translateX(-50%) scale(1.08) !important;
}
.hero-feature-bar h3{
  margin:0 0 13px !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.25 !important;
}
.hero-feature-bar p{
  margin:0 !important;
  color:#b9cadd !important;
  font-size:12px !important;
  line-height:1.55 !important;
}

@media(max-width:1050px){
  .hero-feature-bar{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:42px 22px !important;
  }
}
@media(max-width:620px){
  .hero-feature-bar{
    grid-template-columns:1fr !important;
    padding:32px 20px !important;
  }
}


/* ===== V11 — correction définitive cartes hero =====
   Annule l'ancienne grille 48px + texte qui comprimait les contenus. */

.hero-feature-bar{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:30px !important;
  padding:42px 36px 30px !important;
  overflow:visible !important;
}

/* Ligne lumineuse de liaison derrière les cartes */
.hero-feature-bar::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:2px;
  background:linear-gradient(90deg,transparent,#1687ff 8%,#55c6ff 50%,#1687ff 92%,transparent);
  opacity:.7;
  box-shadow:0 0 10px rgba(22,135,255,.75);
  z-index:0;
  pointer-events:none;
}

.hero-feature-bar>div{
  /* IMPORTANT : annule display:grid de la feuille d'origine */
  display:block !important;
  grid-template-columns:none !important;
  gap:0 !important;

  position:relative !important;
  z-index:1;
  min-width:0 !important;
  min-height:205px !important;
  padding:52px 22px 26px !important;

  text-align:center !important;
  border:1px solid rgba(42,155,255,.75) !important;
  border-radius:14px !important;
  background:linear-gradient(160deg,rgba(8,47,82,.98),rgba(4,25,47,.99)) !important;

  box-shadow:
    0 14px 30px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04),
    0 0 18px rgba(22,135,255,.12) !important;
}

/* Petit coin coloré */
.hero-feature-bar>div::before{
  width:30px !important;
  height:30px !important;
  border-radius:13px 0 18px 0 !important;
}

/* Trait lumineux bas */
.hero-feature-bar>div::after{
  left:50% !important;
  right:auto !important;
  bottom:15px !important;
  width:36px !important;
  height:2px !important;
  transform:translateX(-50%) !important;
}

/* Icône ronde centrée au-dessus */
.hero-feature-bar .feature-icon{
  position:absolute !important;
  top:-28px !important;
  left:50% !important;
  width:58px !important;
  height:58px !important;
  margin:0 !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:50% !important;
  background:linear-gradient(180deg,#0a3157,#051b33) !important;
  border:1px solid #1687ff !important;

  font-size:27px !important;
  line-height:1 !important;
  color:#1687ff !important;

  box-shadow:
    0 0 0 6px rgba(22,135,255,.08),
    0 0 18px rgba(22,135,255,.70) !important;
}

/* Le contenu utilise toute la largeur de la carte */
.hero-feature-bar p{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  text-align:center !important;
  color:#b9cadd !important;
}

.hero-feature-bar b{
  display:block !important;
  width:100% !important;
  margin:0 0 16px !important;
  font-size:15px !important;
  line-height:1.3 !important;
  color:#fff !important;
  white-space:normal !important;
}

.hero-feature-bar small{
  display:block !important;
  width:100% !important;
  max-width:205px !important;
  margin:0 auto !important;
  font-size:12px !important;
  line-height:1.55 !important;
  color:#c0d1e1 !important;
  white-space:normal !important;
}

/* Couleurs distinctes comme la maquette */
.hero-feature-bar>div:nth-child(1){
  border-color:#26a0ff !important;
}
.hero-feature-bar>div:nth-child(1)::before{
  background:linear-gradient(135deg,#2ab0ff,#0879ff) !important;
}
.hero-feature-bar>div:nth-child(1) .feature-icon{
  color:#39b4ff !important;
  border-color:#39b4ff !important;
  box-shadow:0 0 0 6px rgba(57,180,255,.08),0 0 18px rgba(57,180,255,.75) !important;
}

.hero-feature-bar>div:nth-child(2){
  border-color:#18b8ff !important;
}
.hero-feature-bar>div:nth-child(2)::before{
  background:linear-gradient(135deg,#27c5ff,#0791dd) !important;
}
.hero-feature-bar>div:nth-child(2) .feature-icon{
  color:#27c5ff !important;
  border-color:#27c5ff !important;
}

.hero-feature-bar>div:nth-child(3){
  border-color:#1ee1d0 !important;
}
.hero-feature-bar>div:nth-child(3)::before{
  background:linear-gradient(135deg,#36ead7,#0ab4a6) !important;
}
.hero-feature-bar>div:nth-child(3) .feature-icon{
  color:#29e0ce !important;
  border-color:#29e0ce !important;
  box-shadow:0 0 0 6px rgba(41,224,206,.08),0 0 18px rgba(41,224,206,.62) !important;
}
.hero-feature-bar>div:nth-child(3)::after{
  background:#29e0ce !important;
  box-shadow:0 0 8px rgba(41,224,206,.7) !important;
}

.hero-feature-bar>div:nth-child(4){
  border-color:#735cff !important;
}
.hero-feature-bar>div:nth-child(4)::before{
  background:linear-gradient(135deg,#806cff,#5436ef) !important;
}
.hero-feature-bar>div:nth-child(4) .feature-icon{
  color:#8a72ff !important;
  border-color:#8a72ff !important;
  box-shadow:0 0 0 6px rgba(138,114,255,.08),0 0 18px rgba(138,114,255,.65) !important;
}
.hero-feature-bar>div:nth-child(4)::after{
  background:#846cff !important;
  box-shadow:0 0 8px rgba(132,108,255,.7) !important;
}

.hero-feature-bar>div:nth-child(5){
  border-color:#ffb21c !important;
}
.hero-feature-bar>div:nth-child(5)::before{
  background:linear-gradient(135deg,#ffc548,#f29a00) !important;
}
.hero-feature-bar>div:nth-child(5) .feature-icon{
  color:#ffb21c !important;
  border-color:#ffb21c !important;
  box-shadow:0 0 0 6px rgba(255,178,28,.08),0 0 18px rgba(255,178,28,.62) !important;
}
.hero-feature-bar>div:nth-child(5)::after{
  background:#ffb21c !important;
  box-shadow:0 0 8px rgba(255,178,28,.7) !important;
}

/* Survol subtil */
.hero-feature-bar>div:hover{
  transform:translateY(-7px) !important;
}
.hero-feature-bar>div:hover .feature-icon{
  transform:translateX(-50%) scale(1.08) !important;
}

@media(max-width:1180px){
  .hero-feature-bar{
    gap:18px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
  .hero-feature-bar>div{
    padding-left:15px !important;
    padding-right:15px !important;
  }
  .hero-feature-bar small{
    max-width:180px !important;
  }
}

@media(max-width:1050px){
  .hero-feature-bar{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:48px 22px !important;
  }
  .hero-feature-bar::after{display:none}
  .hero-feature-bar small{max-width:260px !important}
}

@media(max-width:620px){
  .hero-feature-bar{
    grid-template-columns:1fr !important;
    gap:48px !important;
  }
  .hero-feature-bar small{max-width:290px !important}
}


/* ===== V12 — Hero services sans flèches + effet vivant ===== */
.hero-service-panel .quick-service{
  grid-template-columns:52px minmax(0,1fr) 105px !important;
  position:relative;
}

/* Remplace les anciennes flèches par un signal lumineux décoratif non cliquable */
.hero-service-panel .quick-service::after{
  content:"";
  justify-self:end;
  width:78px;
  height:8px;
  border-radius:999px;
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#7ed3ff 0 4px,transparent 5px),
    linear-gradient(90deg,transparent 0%,rgba(25,135,255,.3) 30%,#2da6ff 70%,#63c8ff 100%);
  box-shadow:0 0 11px rgba(29,145,255,.55);
  opacity:.68;
  transition:opacity .22s ease,transform .22s ease,filter .22s ease;
}
.hero-service-panel .quick-service:hover::after{
  opacity:1;
  transform:scaleX(1.08);
  filter:brightness(1.15);
}

/* Couleurs légèrement différenciées par ligne */
.hero-service-panel .quick-service:nth-child(1)::after{
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#71c7ff 0 4px,transparent 5px),
    linear-gradient(90deg,transparent,#1687ff);
}
.hero-service-panel .quick-service:nth-child(2)::after{
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#75f1d7 0 4px,transparent 5px),
    linear-gradient(90deg,transparent,#2fd4ba);
}
.hero-service-panel .quick-service:nth-child(3)::after{
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#6ee9f6 0 4px,transparent 5px),
    linear-gradient(90deg,transparent,#26d4e8);
}
.hero-service-panel .quick-service:nth-child(4)::after{
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#c58aff 0 4px,transparent 5px),
    linear-gradient(90deg,transparent,#8a63ff);
}
.hero-service-panel .quick-service:nth-child(5)::after{
  background:
    radial-gradient(circle at calc(100% - 4px) 50%,#ffd06a 0 4px,transparent 5px),
    linear-gradient(90deg,transparent,#ffb21c);
}

/* Icônes colorées suivant la ligne */
.hero-service-panel .quick-service:nth-child(1) .quick-icon{color:#1687ff !important}
.hero-service-panel .quick-service:nth-child(2) .quick-icon{color:#25cdb1 !important}
.hero-service-panel .quick-service:nth-child(3) .quick-icon{color:#24cfe2 !important}
.hero-service-panel .quick-service:nth-child(4) .quick-icon{color:#976cff !important}
.hero-service-panel .quick-service:nth-child(5) .quick-icon{color:#ffb21c !important}

/* Barre latérale lumineuse au survol */
.hero-service-panel .quick-service::before{
  left:-22px !important;
  width:3px !important;
  opacity:.18 !important;
}
.hero-service-panel .quick-service:hover::before{
  opacity:1 !important;
}

/* Proxmox dans le marquee */
.partner-set img[src*="proxmox"]{
  width:155px !important;
  min-width:155px !important;
  object-fit:contain;
  overflow:visible;
}

@media(max-width:800px){
  .hero-service-panel .quick-service{
    grid-template-columns:44px minmax(0,1fr) 64px !important;
  }
  .hero-service-panel .quick-service::after{
    width:48px;
  }
}


/* ===== V13 — animation K2000 sur les lignes lumineuses du bloc hero ===== */

@keyframes sa-k2000-scan{
  0%{
    background-position:0% 50%;
    filter:brightness(.95);
  }
  50%{
    background-position:100% 50%;
    filter:brightness(1.22);
  }
  100%{
    background-position:0% 50%;
    filter:brightness(.95);
  }
}

@keyframes sa-k2000-pulse{
  0%,100%{
    box-shadow:0 0 7px currentColor,0 0 14px rgba(22,135,255,.28);
    opacity:.72;
  }
  50%{
    box-shadow:0 0 12px currentColor,0 0 24px rgba(22,135,255,.52);
    opacity:1;
  }
}

/* La ligne entière devient une piste de scan */
.hero-service-panel .quick-service::after{
  position:relative;
  overflow:visible;
  background-size:220% 100% !important;
  animation:sa-k2000-scan 2.15s ease-in-out infinite;
}

/* Petit point mobile façon scanner K2000 */
.hero-service-panel .quick-service{
  --scan-color:#1687ff;
}

.hero-service-panel .quick-service:nth-child(1){--scan-color:#1687ff}
.hero-service-panel .quick-service:nth-child(2){--scan-color:#2fd4ba}
.hero-service-panel .quick-service:nth-child(3){--scan-color:#26d4e8}
.hero-service-panel .quick-service:nth-child(4){--scan-color:#8a63ff}
.hero-service-panel .quick-service:nth-child(5){--scan-color:#ffb21c}

/* Effet scanner ajouté par pseudo-élément sur le contenu texte */
.hero-service-panel .quick-service > div{
  position:relative;
}

.hero-service-panel .quick-service > div::after{
  content:"";
  position:absolute;
  top:50%;
  right:-96px;
  width:9px;
  height:9px;
  margin-top:-4.5px;
  border-radius:50%;
  background:var(--scan-color);
  color:var(--scan-color);
  box-shadow:0 0 8px currentColor,0 0 17px currentColor;
  animation:
    sa-k2000-dot 2.15s ease-in-out infinite,
    sa-k2000-pulse 1.05s ease-in-out infinite;
  pointer-events:none;
}

@keyframes sa-k2000-dot{
  0%{transform:translateX(-70px)}
  50%{transform:translateX(0)}
  100%{transform:translateX(-70px)}
}

/* Décalage de phase pour éviter que les 5 scanners soient parfaitement synchronisés */
.hero-service-panel .quick-service:nth-child(2)::after,
.hero-service-panel .quick-service:nth-child(2) > div::after{animation-delay:.18s}
.hero-service-panel .quick-service:nth-child(3)::after,
.hero-service-panel .quick-service:nth-child(3) > div::after{animation-delay:.36s}
.hero-service-panel .quick-service:nth-child(4)::after,
.hero-service-panel .quick-service:nth-child(4) > div::after{animation-delay:.54s}
.hero-service-panel .quick-service:nth-child(5)::after,
.hero-service-panel .quick-service:nth-child(5) > div::after{animation-delay:.72s}

/* Accessibilité : désactive l'animation si l'utilisateur préfère moins de mouvement */
@media (prefers-reduced-motion:reduce){
  .hero-service-panel .quick-service::after,
  .hero-service-panel .quick-service > div::after{
    animation:none !important;
  }
}


/* ===== V14 — visuel OVHcloud dans la carte Hébergement ===== */
.ovh-hosting-visual{
  margin:42px auto 8px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 45%,rgba(0,112,243,.10),transparent 62%);
}
.ovh-hosting-logo{
  display:flex;
  align-items:baseline;
  gap:5px;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1;
  opacity:.78;
  filter:drop-shadow(0 5px 14px rgba(0,85,170,.10));
}
.ovh-hosting-logo span{
  font-size:52px;
  font-weight:900;
  letter-spacing:-4px;
  color:#00185a;
}
.ovh-hosting-logo b{
  font-size:30px;
  font-weight:500;
  color:#0050d7;
}
.ovh-hosting-caption{
  margin-top:12px;
  color:#7890a7;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* ===== V15 — animation premium du bouclier SAFE ACTIVITY ===== */

/* Respiration lumineuse douce du logo */
@keyframes sa-shield-breathe{
  0%,100%{
    filter:
      drop-shadow(0 0 3px rgba(255,255,255,.38))
      drop-shadow(0 0 7px rgba(14,132,255,.72))
      drop-shadow(0 0 14px rgba(14,132,255,.24));
  }
  50%{
    filter:
      drop-shadow(0 0 4px rgba(255,255,255,.58))
      drop-shadow(0 0 11px rgba(14,132,255,.95))
      drop-shadow(0 0 23px rgba(14,132,255,.42));
  }
}

/* Impulsion électrique qui fait le tour du contour bleu */
@keyframes sa-shield-trace{
  0%{
    stroke-dashoffset:0;
    opacity:.72;
  }
  45%{
    opacity:1;
  }
  100%{
    stroke-dashoffset:-150;
    opacity:.72;
  }
}

/* Petit reflet blanc/bleu périodique */
@keyframes sa-shield-glint{
  0%,68%,100%{
    stroke-dashoffset:70;
    opacity:.20;
  }
  76%{
    opacity:1;
  }
  88%{
    stroke-dashoffset:-35;
    opacity:.75;
  }
}

/* Le bouclier reste fixe : seules les lumières bougent */
.brand-mark-premium{
  animation:sa-shield-breathe 3.4s ease-in-out infinite;
}

/* Contour bleu animé */
.brand-mark-premium .shield-blue{
  stroke-dasharray:18 10;
  animation:sa-shield-trace 4.8s linear infinite;
}

/* Éclat court qui traverse le haut du bouclier */
.brand-mark-premium .shield-highlight{
  stroke-dasharray:11 55;
  stroke-dashoffset:70;
  animation:sa-shield-glint 5.2s ease-in-out infinite;
}

/* Halo légèrement vivant mais discret */
.brand-mark-premium .shield-glow{
  transform-origin:50% 50%;
  animation:sa-shield-halo 3.4s ease-in-out infinite;
}
@keyframes sa-shield-halo{
  0%,100%{
    opacity:.12;
    transform:scale(.99);
  }
  50%{
    opacity:.27;
    transform:scale(1.025);
  }
}

/* Au survol : petit boost de lumière, toujours sans déplacement */
.brand:hover .brand-mark-premium{
  transform:none !important;
  filter:
    drop-shadow(0 0 5px rgba(255,255,255,.72))
    drop-shadow(0 0 13px rgba(14,132,255,1))
    drop-shadow(0 0 26px rgba(14,132,255,.50));
}

/* Accessibilité */
@media (prefers-reduced-motion:reduce){
  .brand-mark-premium,
  .brand-mark-premium .shield-blue,
  .brand-mark-premium .shield-highlight,
  .brand-mark-premium .shield-glow{
    animation:none !important;
  }
}


/* ===== V16 — logo un peu plus grand + OVH replacé dans la carte Hébergement ===== */

/* Bouclier animé légèrement plus grand pour mieux équilibrer SAFE ACTIVITY */
.brand-mark-premium{
  width:42px !important;
  height:47px !important;
}
.site-footer .brand-mark-premium,
.legal-footer .brand-mark-premium{
  width:46px !important;
  height:52px !important;
}
.legal-header .brand-mark-premium{
  width:42px !important;
  height:47px !important;
}

/* OVHcloud directement sous le lien, dans la carte Hébergement */
.ovh-hosting-visual{
  margin:28px 0 4px !important;
  min-height:0 !important;
  padding:18px 0 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border-top:1px solid #e5edf5;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 50% 45%,rgba(0,112,243,.075),transparent 64%) !important;
}
.ovh-hosting-logo{
  gap:4px !important;
  opacity:.82 !important;
}
.ovh-hosting-logo span{
  font-size:38px !important;
  letter-spacing:-3px !important;
}
.ovh-hosting-logo b{
  font-size:24px !important;
}
.ovh-hosting-caption{
  margin-top:9px !important;
  font-size:11px !important;
  letter-spacing:.09em !important;
}

@media(max-width:520px){
  .brand-mark-premium{
    width:38px !important;
    height:43px !important;
  }
  .site-footer .brand-mark-premium,
  .legal-footer .brand-mark-premium{
    width:42px !important;
    height:47px !important;
  }
}


/* ===== V17 — intégration OVH sans encadrement visible ===== */
.ovh-hosting-visual{
  border-top:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding-top:14px !important;
}

/* Halo très doux, sans bord ni rectangle perceptible */
.ovh-hosting-logo{
  position:relative;
  filter:drop-shadow(0 5px 18px rgba(0,80,215,.08)) !important;
}


/* ===== V23 — LEDs animées sur les baies serveurs du hero ===== */
.server-led-layer{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
}
.server-led{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:5px;
  height:5px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  opacity:.32;
  animation:server-led-blink var(--d) steps(1,end) infinite;
  animation-delay:var(--delay);
}
.led-blue{
  background:#2d9cff;
  box-shadow:0 0 4px #2d9cff,0 0 10px rgba(45,156,255,.82),0 0 18px rgba(45,156,255,.38);
}
.led-cyan{
  background:#45e7ff;
  box-shadow:0 0 4px #45e7ff,0 0 10px rgba(69,231,255,.78),0 0 17px rgba(69,231,255,.34);
}
.led-green{
  background:#63f26a;
  box-shadow:0 0 4px #63f26a,0 0 10px rgba(99,242,106,.82),0 0 18px rgba(99,242,106,.34);
}
.led-amber{
  background:#ffb437;
  box-shadow:0 0 4px #ffb437,0 0 10px rgba(255,180,55,.82),0 0 18px rgba(255,180,55,.30);
}
@keyframes server-led-blink{
  0%,7%{opacity:.18;transform:translate(-50%,-50%) scale(.72)}
  8%,18%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}
  19%,49%{opacity:.35;transform:translate(-50%,-50%) scale(.82)}
  50%,57%{opacity:.92;transform:translate(-50%,-50%) scale(1.06)}
  58%,82%{opacity:.24;transform:translate(-50%,-50%) scale(.74)}
  83%,87%{opacity:.78;transform:translate(-50%,-50%) scale(.96)}
  88%,100%{opacity:.30;transform:translate(-50%,-50%) scale(.80)}
}
.server-led:nth-child(3n){
  animation-name:server-led-traffic;
}
@keyframes server-led-traffic{
  0%,12%,17%,56%,61%,100%{opacity:.22}
  13%,14%,57%,58%{opacity:1;transform:translate(-50%,-50%) scale(1.22)}
  15%,16%,59%,60%{opacity:.48;transform:translate(-50%,-50%) scale(.85)}
}
@media(max-width:1100px){
  .server-led{opacity:.22}
}
@media(max-width:700px){
  .server-led-layer{display:none}
}
@media(prefers-reduced-motion:reduce){
  .server-led{
    animation:none !important;
    opacity:.38;
  }
}


/* ===== V24 — activité lumineuse étendue à l'ensemble des baies ===== */
.server-led-layer-v24 .server-led{
  width:6px;
  height:6px;
}
.server-led-layer-v24 .led-small{
  width:3px;
  height:3px;
  animation-name:server-led-fast;
}
@keyframes server-led-fast{
  0%,20%,27%,48%,56%,79%,86%,100%{opacity:.15;transform:translate(-50%,-50%) scale(.7)}
  21%,23%,49%,51%,80%,82%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}
  24%,26%,52%,55%,83%,85%{opacity:.5;transform:translate(-50%,-50%) scale(.9)}
}
.server-led-layer-v24 .server-led:nth-child(4n+1){
  filter:brightness(1.35);
}
.server-led-layer-v24 .server-led:nth-child(5n){
  animation-timing-function:ease-in-out;
}
