/* ==========================================================================
   Randare CX - feuille de style principale
   Palette derivee du logo Randare (bleu roi, bleu ciel, vert, ambre).
   ========================================================================== */

:root{
  /* Couleurs du logo */
  --rcx-blue:#3770BF;
  --rcx-blue-dark:#2A579A;
  --rcx-sky:#1C9AE1;
  --rcx-cyan:#00ABED;
  --rcx-green:#3FB73A;
  --rcx-lime:#7FC428;
  --rcx-amber:#FCB332;

  /* Neutres */
  --rcx-ink:#0C1A2B;
  --rcx-ink-2:#132741;
  --rcx-ink-3:#1B3455;
  --rcx-heading:#0E2038;
  --rcx-body:#5A6B80;
  --rcx-line:#E4EAF1;
  --rcx-soft:#F4F8FC;
  --rcx-white:#fff;

  /* Degrades */
  --rcx-grad:linear-gradient(100deg,#3770BF 0%,#1C9AE1 55%,#00ABED 100%);
  --rcx-grad-alt:linear-gradient(100deg,#3FB73A 0%,#7FC428 100%);
  --rcx-grad-warm:linear-gradient(100deg,#FCB332 0%,#F79E1B 100%);

  --rcx-radius:18px;
  --rcx-radius-sm:12px;
  --rcx-shadow:0 18px 50px rgba(14,32,56,.10);
  --rcx-shadow-lg:0 30px 70px rgba(14,32,56,.16);
  --rcx-container:1240px;
  --rcx-header-h:88px;
  --rcx-font:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rcx-font-head:"Exo 2","Poppins",system-ui,sans-serif;
}

/* --------------------------------------------------------------- Reset --- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--rcx-font);font-size:16px;line-height:1.75;
  color:var(--rcx-body);background:var(--rcx-white);overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
svg.rcx-i{width:18px;height:18px;flex:none}
a{color:var(--rcx-blue);text-decoration:none;transition:color .25s}
a:hover{color:var(--rcx-sky)}
h1,h2,h3,h4,h5,h6{
  font-family:var(--rcx-font-head);color:var(--rcx-heading);
  margin:0 0 .6em;line-height:1.18;font-weight:700;letter-spacing:-.01em;
}
h1{font-size:clamp(2.25rem,4.6vw,3.75rem)}
h2{font-size:clamp(1.8rem,3.2vw,2.75rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
h4{font-size:1.15rem}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
figure{margin:0}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--rcx-sky);outline-offset:3px;border-radius:4px}
.rcx-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rcx-skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--rcx-blue);color:#fff;padding:12px 20px}
.rcx-skip:focus{left:8px;top:8px;color:#fff}

/* ----------------------------------------------------------- Structure --- */
.rcx-container{width:100%;max-width:var(--rcx-container);margin:0 auto;padding:0 24px}
/* Conteneur elargi : les sections en grille (departements, plateformes,
   packs) respirent mal a 1240 px. Le texte d'introduction, lui, reste dans
   une largeur de lecture confortable. */
.rcx-container--wide{max-width:1720px;padding:0 40px}
.rcx-container--wide .rcx-sectitle{max-width:820px;margin-left:auto;margin-right:auto}
@media (max-width:1100px){.rcx-container--wide{padding:0 24px}}
@media (max-width:640px){.rcx-container--wide{padding:0 18px}}
.rcx-section{padding:110px 0;position:relative}
.rcx-section--tight{padding:80px 0}
.rcx-section--soft{background:var(--rcx-soft)}
.rcx-section--dark{background:var(--rcx-ink);color:#B9C7D8}
.rcx-section--dark h1,.rcx-section--dark h2,.rcx-section--dark h3,.rcx-section--dark h4{color:#fff}
.rcx-grid{display:grid;gap:28px}
.rcx-grid--2{grid-template-columns:repeat(2,1fr)}
.rcx-grid--3{grid-template-columns:repeat(3,1fr)}
.rcx-grid--4{grid-template-columns:repeat(4,1fr)}

/* ------------------------------------------------------- Titre section --- */
.rcx-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--rcx-font-head);font-weight:700;font-size:.8rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--rcx-blue);
  margin-bottom:16px;
}
.rcx-eyebrow::before{content:"";width:34px;height:3px;border-radius:3px;background:var(--rcx-grad)}
.rcx-section--dark .rcx-eyebrow{color:var(--rcx-amber)}
.rcx-section--dark .rcx-eyebrow::before{background:var(--rcx-grad-warm)}
.rcx-sectitle{max-width:760px;margin-bottom:56px}
.rcx-sectitle--center{margin-left:auto;margin-right:auto;text-align:center}
.rcx-sectitle p{font-size:1.05rem;margin-bottom:0}
.rcx-sectitle h2 em{font-style:normal;background:var(--rcx-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rcx-section--dark .rcx-sectitle h2 em{background:linear-gradient(100deg,#FCB332,#7FC428 70%,#00ABED);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ------------------------------------------------------------- Boutons --- */
.rcx-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--rcx-font-head);font-weight:700;font-size:.94rem;letter-spacing:.02em;
  padding:15px 30px;border-radius:999px;border:2px solid transparent;cursor:pointer;
  transition:transform .25s,box-shadow .25s,background .25s,color .25s,border-color .25s;
  text-align:center;
}
.rcx-btn svg{width:17px;height:17px;flex:none}
.rcx-btn--primary{background:var(--rcx-grad);color:#fff;box-shadow:0 12px 28px rgba(55,112,191,.32)}
.rcx-btn--primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 18px 38px rgba(55,112,191,.42)}
.rcx-btn--accent{background:var(--rcx-grad-alt);color:#fff;box-shadow:0 12px 28px rgba(63,183,58,.3)}
.rcx-btn--accent:hover{color:#fff;transform:translateY(-3px)}
.rcx-btn--ghost{background:transparent;border-color:var(--rcx-line);color:var(--rcx-heading)}
.rcx-btn--ghost:hover{border-color:var(--rcx-blue);color:var(--rcx-blue);transform:translateY(-3px)}
.rcx-btn--light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35);color:#fff}
.rcx-btn--light:hover{background:#fff;color:var(--rcx-heading);transform:translateY(-3px)}
.rcx-btn--sm{padding:11px 22px;font-size:.85rem}
.rcx-btn--block{width:100%}

/* --------------------------------------------------------- Barre haute --- */
.rcx-topbar{background:var(--rcx-ink);color:#9FB2C8;font-size:.85rem}
.rcx-topbar .rcx-container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px}
.rcx-topbar a{color:#CFDCEA}
.rcx-topbar a:hover{color:var(--rcx-amber)}
.rcx-topbar__info{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.rcx-topbar__info span{display:inline-flex;align-items:center;gap:8px}
.rcx-topbar__info svg{width:15px;height:15px;color:var(--rcx-sky)}
.rcx-topbar__right{display:flex;align-items:center;gap:18px}
.rcx-social{display:flex;align-items:center;gap:10px}
.rcx-social a{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);transition:background .25s,transform .25s}
.rcx-social a:hover{background:var(--rcx-grad);transform:translateY(-2px)}
.rcx-social svg{width:14px;height:14px}

/* ------------------------------------------------------------- En-tete --- */
.rcx-header{background:#fff;position:relative;z-index:60;border-bottom:1px solid var(--rcx-line)}
.rcx-header.is-stuck{position:fixed;top:0;left:0;right:0;box-shadow:0 10px 30px rgba(14,32,56,.10);animation:rcxDrop .4s ease}
@keyframes rcxDrop{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.rcx-header__inner{display:flex;align-items:center;gap:26px;min-height:var(--rcx-header-h)}
.rcx-brand{display:flex;align-items:center;flex:none}
/* Le logo complet porte sa signature sous le nom : il lui faut un peu plus de
   hauteur que le seul mot-marque pour rester lisible. */
.rcx-brand img{max-height:62px;width:auto}
.rcx-brand__text{font-family:var(--rcx-font-head);font-weight:800;font-size:1.4rem;color:var(--rcx-heading)}
.rcx-header__nav{margin-left:auto}
.rcx-header__actions{display:flex;align-items:center;gap:12px;flex:none}

/* Navigation */
.rcx-menu,.rcx-menu ul{list-style:none;margin:0;padding:0}
.rcx-menu{display:flex;align-items:center;gap:2px}
.rcx-menu li{position:relative}
.rcx-menu > li > a{
  position:relative;
  display:inline-flex;align-items:center;gap:6px;padding:12px 14px;border-radius:999px;
  font-family:var(--rcx-font-head);font-weight:600;font-size:.94rem;color:var(--rcx-heading);
  white-space:nowrap;
}
.rcx-menu > li > a:hover,
.rcx-menu > li.current-menu-item > a,
.rcx-menu > li.current_page_item > a,
.rcx-menu > li.current-menu-ancestor > a{background:var(--rcx-soft);color:var(--rcx-blue)}
.rcx-menu .menu-item-has-children > a::after{
  content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);opacity:.55;
}
.rcx-menu .sub-menu{
  position:absolute;top:calc(100% + 12px);left:0;min-width:255px;background:#fff;
  border-radius:14px;box-shadow:var(--rcx-shadow);padding:10px;opacity:0;visibility:hidden;
  transform:translateY(10px);transition:.28s;border:1px solid var(--rcx-line);
}
.rcx-menu li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.rcx-menu .sub-menu a{display:block;padding:10px 14px;border-radius:9px;font-size:.92rem;font-weight:500;color:var(--rcx-heading)}
.rcx-menu .sub-menu a:hover{background:var(--rcx-soft);color:var(--rcx-blue);padding-left:20px}
.rcx-menu .sub-menu .sub-menu{top:0;left:100%}

/* Selecteur de langue */
.rcx-lang{position:relative}
.rcx-lang__btn{
  display:inline-flex;align-items:center;gap:8px;background:var(--rcx-soft);border:1px solid var(--rcx-line);
  border-radius:999px;padding:9px 14px;font-family:var(--rcx-font-head);font-weight:600;font-size:.82rem;
  color:var(--rcx-heading);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;
}
.rcx-lang__btn:hover{border-color:var(--rcx-blue);color:var(--rcx-blue)}
.rcx-lang__btn svg{width:14px;height:14px}
.rcx-lang__list{
  position:absolute;right:0;top:calc(100% + 10px);min-width:180px;background:#fff;border:1px solid var(--rcx-line);
  border-radius:12px;box-shadow:var(--rcx-shadow);padding:8px;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;z-index:80;
}
.rcx-lang.is-open .rcx-lang__list{opacity:1;visibility:visible;transform:translateY(0)}
.rcx-lang__list a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;font-size:.9rem;color:var(--rcx-heading)}
.rcx-lang__list a:hover{background:var(--rcx-soft);color:var(--rcx-blue)}
.rcx-lang__list .is-current > a{background:var(--rcx-soft);color:var(--rcx-blue);font-weight:600}
.rcx-lang__flag{width:22px;height:15px;border-radius:2px;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.06)}

/* Burger + panneau mobile */
.rcx-burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--rcx-line);background:#fff;cursor:pointer;padding:0}
.rcx-burger span{display:block;width:20px;height:2px;background:var(--rcx-heading);margin:4px auto;transition:.3s;border-radius:2px}
.rcx-burger.is-active span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.rcx-burger.is-active span:nth-child(2){opacity:0}
.rcx-burger.is-active span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.rcx-mobile{
  position:fixed;top:0;right:0;bottom:0;width:min(400px,88vw);background:#fff;z-index:120;
  transform:translateX(100%);transition:transform .35s ease;overflow-y:auto;padding:24px 24px 40px;
  box-shadow:-20px 0 60px rgba(14,32,56,.18);
}
.rcx-mobile.is-open{transform:translateX(0)}
.rcx-mobile__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.rcx-mobile__head img{max-height:44px}
.rcx-mobile__close{background:none;border:0;font-size:1.9rem;line-height:1;cursor:pointer;color:var(--rcx-heading)}
.rcx-mobile ul{list-style:none;margin:0;padding:0}
.rcx-mobile li{position:relative}
.rcx-mobile .sub-menu{padding-left:14px;border-left:2px solid var(--rcx-line);margin:2px 0 8px;display:none}
.rcx-mobile li.is-open > .sub-menu{display:block}
.rcx-mobile > ul > li > a{display:block;padding:13px 40px 13px 0;font-family:var(--rcx-font-head);font-weight:600;color:var(--rcx-heading);border-bottom:1px solid var(--rcx-line)}
.rcx-mobile .sub-menu a{display:block;font-weight:500;font-size:.92rem;padding:9px 0;color:var(--rcx-body)}
.rcx-mobile__toggle{position:absolute;right:0;top:8px;width:32px;height:32px;border:0;background:var(--rcx-soft);border-radius:8px;cursor:pointer;color:var(--rcx-heading);font-size:1rem;line-height:1}
.rcx-mobile__cta{margin-top:26px;display:grid;gap:10px}
.rcx-overlay{position:fixed;inset:0;background:rgba(12,26,43,.55);z-index:110;opacity:0;visibility:hidden;transition:.3s}
.rcx-overlay.is-open{opacity:1;visibility:visible}

/* ----------------------------------------------------------------- Hero --- */
.rcx-hero{position:relative;background:var(--rcx-ink);color:#C6D4E4;overflow:hidden;isolation:isolate}
.rcx-hero__media{position:absolute;inset:0;z-index:-2}
.rcx-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 32%}
.rcx-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(12,26,43,.97) 0%,rgba(12,26,43,.90) 42%,rgba(12,26,43,.52) 74%,rgba(12,26,43,.38) 100%);
}
.rcx-hero__inner{padding:126px 0 150px;max-width:750px}
.rcx-hero__badge{
  display:inline-flex;align-items:center;gap:10px;padding:7px 18px 7px 7px;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  font-size:.84rem;font-weight:600;color:#E4EDF7;margin-bottom:26px;
}
.rcx-hero__badge b{background:var(--rcx-grad-warm);color:#25190A;border-radius:999px;padding:4px 12px;font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}
.rcx-hero h1{color:#fff;margin-bottom:22px}
.rcx-hero h1 em{font-style:normal;background:linear-gradient(100deg,#FCB332,#7FC428 58%,#00ABED);-webkit-background-clip:text;background-clip:text;color:transparent}
.rcx-hero__lead{font-size:1.12rem;color:#C6D4E4;max-width:600px;margin-bottom:34px}
.rcx-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.rcx-hero__points{display:flex;flex-wrap:wrap;gap:14px 30px;list-style:none;padding:0;margin:0}
.rcx-hero__points li{display:flex;align-items:center;gap:10px;font-weight:500;color:#DCE7F3;font-size:.95rem}
.rcx-hero__points svg{width:20px;height:20px;color:var(--rcx-lime);flex:none}

/* Bandeau de chiffres chevauchant */
.rcx-stats{position:relative;z-index:5;margin-top:-62px;margin-bottom:0}
.rcx-stats__inner{background:#fff;border-radius:var(--rcx-radius);box-shadow:var(--rcx-shadow-lg);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.rcx-stats__item{padding:34px 26px;text-align:center;border-right:1px solid var(--rcx-line)}
.rcx-stats__item:last-child{border-right:0}
.rcx-stats__item b{display:block;font-family:var(--rcx-font-head);font-size:2.3rem;font-weight:800;line-height:1.1;background:var(--rcx-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rcx-stats__item span{font-size:.9rem;display:block;margin-top:6px;color:var(--rcx-body)}

/* ------------------------------------------------------------ A propos --- */
.rcx-about{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}
.rcx-about__media{position:relative}
.rcx-about__img1{border-radius:var(--rcx-radius);overflow:hidden;box-shadow:var(--rcx-shadow)}
.rcx-about__img1 img{width:100%;aspect-ratio:4/3.4;object-fit:cover}
.rcx-about__img2{position:absolute;right:-24px;bottom:-42px;width:52%;border-radius:var(--rcx-radius);overflow:hidden;border:8px solid #fff;box-shadow:var(--rcx-shadow-lg)}
.rcx-about__img2 img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rcx-about__badge{
  position:absolute;left:-26px;top:34px;background:var(--rcx-grad);color:#fff;border-radius:16px;
  padding:20px 24px;box-shadow:0 18px 40px rgba(55,112,191,.36);text-align:center;
}
.rcx-about__badge b{display:block;font-family:var(--rcx-font-head);font-size:2.1rem;font-weight:800;line-height:1}
.rcx-about__badge span{font-size:.8rem;display:block;max-width:120px;line-height:1.4;margin-top:4px;opacity:.95}
.rcx-about__list{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:18px}
.rcx-about__list li{display:flex;gap:16px;align-items:flex-start}
.rcx-about__list .rcx-ic{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;
  background:rgba(55,112,191,.10);color:var(--rcx-blue);
}
.rcx-about__list .rcx-ic svg{width:22px;height:22px}
.rcx-about__list li:nth-child(2) .rcx-ic{background:rgba(63,183,58,.12);color:var(--rcx-green)}
.rcx-about__list li:nth-child(3) .rcx-ic{background:rgba(252,179,50,.16);color:#D48806}
.rcx-about__list h4{margin-bottom:2px}
.rcx-about__list p{margin:0;font-size:.95rem}

/* ------------------------------------------------------------ Services --- */
.rcx-svc{
  background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);padding:36px 30px 32px;
  position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s;height:100%;
}
.rcx-svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--rcx-grad);transition:width .35s}
.rcx-svc:hover{transform:translateY(-8px);box-shadow:var(--rcx-shadow);border-color:transparent}
.rcx-svc:hover::before{width:100%}
.rcx-svc__ic{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--rcx-soft);color:var(--rcx-blue);margin-bottom:22px;transition:.35s}
.rcx-svc__ic svg{width:30px;height:30px}
.rcx-svc:hover .rcx-svc__ic{background:var(--rcx-grad);color:#fff;transform:rotate(-6deg)}
.rcx-svc h3{font-size:1.24rem;margin-bottom:10px}
.rcx-svc h3 a{color:inherit}
.rcx-svc h3 a:hover{color:var(--rcx-blue)}
.rcx-svc p{font-size:.95rem;margin-bottom:18px}
.rcx-svc__link{display:inline-flex;align-items:center;gap:8px;font-family:var(--rcx-font-head);font-weight:700;font-size:.87rem;color:var(--rcx-blue);text-transform:uppercase;letter-spacing:.05em}
.rcx-svc__link svg{width:15px;height:15px;transition:transform .3s}
.rcx-svc:hover .rcx-svc__link svg{transform:translateX(5px)}
.rcx-svc--feature{background:var(--rcx-ink);border-color:transparent;color:#B9C7D8}
.rcx-svc--feature h3{color:#fff}
.rcx-svc--feature .rcx-svc__ic{background:rgba(255,255,255,.10);color:var(--rcx-amber)}
.rcx-svc--feature .rcx-svc__link{color:var(--rcx-amber)}

/* -------------------------------------------------------- Bandeau tags --- */
.rcx-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.rcx-chip{
  display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:999px;
  background:#fff;border:1px solid var(--rcx-line);font-weight:600;font-size:.9rem;color:var(--rcx-heading);
  transition:.25s;
}
.rcx-chip svg{width:17px;height:17px;color:var(--rcx-blue)}
.rcx-chip:hover{border-color:var(--rcx-blue);transform:translateY(-3px);box-shadow:var(--rcx-shadow)}

/* --------------------------------------------------------- Nos offres ---- */
.rcx-offer{
  background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);padding:36px 30px;
  display:flex;flex-direction:column;height:100%;transition:transform .3s,box-shadow .3s;position:relative;
}
.rcx-offer:hover{transform:translateY(-8px);box-shadow:var(--rcx-shadow)}
.rcx-offer__tag{position:absolute;top:20px;right:20px;background:var(--rcx-grad-warm);color:#25190A;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:999px}
.rcx-offer__ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--rcx-soft);color:var(--rcx-blue);margin-bottom:20px}
.rcx-offer__ic svg{width:27px;height:27px}
.rcx-offer h3{font-size:1.3rem;margin-bottom:8px}
.rcx-offer__sub{font-size:.9rem;color:var(--rcx-blue);font-weight:600;margin-bottom:18px}
.rcx-offer ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:11px}
.rcx-offer ul li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem;line-height:1.55}
.rcx-offer ul svg{width:19px;height:19px;color:var(--rcx-green);flex:none;margin-top:3px}
.rcx-offer .rcx-btn{margin-top:auto}
.rcx-offer--hot{background:var(--rcx-ink);border-color:transparent;color:#B9C7D8;box-shadow:var(--rcx-shadow-lg)}
.rcx-offer--hot h3{color:#fff}
.rcx-offer--hot .rcx-offer__ic{background:rgba(255,255,255,.10);color:var(--rcx-amber)}
.rcx-offer--hot .rcx-offer__sub{color:var(--rcx-amber)}
.rcx-offer--hot ul svg{color:var(--rcx-lime)}

/* ------------------------------------------------------------ Produits --- */
.rcx-prod{
  background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);overflow:hidden;
  display:flex;flex-direction:column;height:100%;transition:transform .3s,box-shadow .3s;
}
.rcx-prod:hover{transform:translateY(-8px);box-shadow:var(--rcx-shadow-lg)}
.rcx-prod__shot{position:relative;background:var(--rcx-soft);overflow:hidden}
.rcx-prod__bar{display:flex;align-items:center;gap:6px;padding:11px 14px;background:#fff;border-bottom:1px solid var(--rcx-line)}
.rcx-prod__bar i{width:9px;height:9px;border-radius:50%;background:#E1E7EF;display:block}
.rcx-prod__bar i:nth-child(1){background:#FF5F57}
.rcx-prod__bar i:nth-child(2){background:#FEBC2E}
.rcx-prod__bar i:nth-child(3){background:#28C840}
.rcx-prod__bar span{margin-left:10px;font-size:.72rem;color:#9AA9BC;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcx-prod__shot img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;transition:transform .6s}
.rcx-prod:hover .rcx-prod__shot img{transform:scale(1.04)}
.rcx-prod__body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.rcx-prod__cat svg{width:14px;height:14px}
.rcx-prod__cat{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--rcx-green);margin-bottom:10px}
.rcx-prod h3{font-size:1.28rem;margin-bottom:8px}
.rcx-prod p{font-size:.94rem;margin-bottom:16px}
.rcx-prod__tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px;padding:0;list-style:none}
.rcx-prod__tags li{font-size:.75rem;font-weight:600;background:var(--rcx-soft);color:var(--rcx-heading);padding:5px 11px;border-radius:999px}
.rcx-prod__foot{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}

/* --------------------------------------------------------- Temoignages --- */
/* Temoignages : disposition reprise de la page « Testimonial 02 » du theme
   d'origine. Guillemet gris en tete, texte en gris moyen, puis la personne
   en pied de carte sans filet de separation. */
.rcx-quote{
  background:#fff;border:1px solid transparent;border-radius:18px;
  padding:38px 34px 34px;height:100%;display:flex;flex-direction:column;
  position:relative;box-shadow:0 10px 30px rgba(16,42,80,.06);
  transition:transform .3s,box-shadow .3s;
}
.rcx-quote:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(16,42,80,.13)}
.rcx-quote__mark{display:block;color:#D8DFE9;margin-bottom:20px}
.rcx-quote__mark svg{width:42px;height:32px;display:block}
.rcx-quote p{font-size:1rem;line-height:1.75;color:var(--rcx-muted);margin-bottom:28px}
.rcx-quote__who{display:flex;align-items:center;gap:15px;margin-top:auto}
.rcx-quote__who img{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:none}
.rcx-quote__who b{display:block;font-family:var(--rcx-font-head);color:var(--rcx-heading);font-size:1.02rem}
.rcx-quote__who span{font-size:.87rem;color:var(--rcx-muted)}

/* ---------------------------------------------------------------- CTA ---- */
.rcx-cta{position:relative;overflow:hidden;isolation:isolate;background:var(--rcx-ink)}
.rcx-cta__media{position:absolute;inset:0;z-index:-2}
.rcx-cta__media img{width:100%;height:100%;object-fit:cover}
.rcx-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(12,26,43,.96),rgba(55,112,191,.86))}
.rcx-cta__inner{padding:88px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}
.rcx-cta h2{color:#fff;margin-bottom:12px}
.rcx-cta p{color:#D6E3F1;margin:0;font-size:1.05rem}
.rcx-cta__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end}

/* --------------------------------------------------------------- Blog ---- */
.rcx-post{background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .3s,box-shadow .3s}
.rcx-post:hover{transform:translateY(-8px);box-shadow:var(--rcx-shadow)}
.rcx-post__thumb{position:relative;overflow:hidden}
.rcx-post__thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s}
.rcx-post:hover .rcx-post__thumb img{transform:scale(1.06)}
.rcx-post__date{position:absolute;left:18px;bottom:18px;background:var(--rcx-grad);color:#fff;border-radius:12px;padding:9px 14px;text-align:center;font-family:var(--rcx-font-head);line-height:1.1;box-shadow:0 10px 24px rgba(55,112,191,.35)}
.rcx-post__date b{display:block;font-size:1.25rem;font-weight:800}
.rcx-post__date span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}
.rcx-post__body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.rcx-post__meta{display:flex;gap:16px;font-size:.82rem;margin-bottom:12px;color:var(--rcx-body)}
.rcx-post__meta span{display:inline-flex;align-items:center;gap:6px}
.rcx-post__meta svg{width:14px;height:14px;color:var(--rcx-blue)}
.rcx-post h3{font-size:1.2rem;margin-bottom:10px}
.rcx-post h3 a{color:inherit}
.rcx-post h3 a:hover{color:var(--rcx-blue)}
.rcx-post p{font-size:.94rem;margin-bottom:18px}
.rcx-post .rcx-svc__link{margin-top:auto}

/* -------------------------------------------------------------- FAQ ------ */
.rcx-faq{display:grid;gap:14px;max-width:900px;margin:0 auto}
.rcx-faq__item{background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius-sm);overflow:hidden;transition:box-shadow .3s,border-color .3s}
.rcx-faq__item.is-open{box-shadow:var(--rcx-shadow);border-color:transparent}
.rcx-faq__q{
  width:100%;text-align:left;background:none;border:0;padding:22px 60px 22px 26px;cursor:pointer;position:relative;
  font-family:var(--rcx-font-head);font-weight:600;font-size:1.03rem;color:var(--rcx-heading);
}
.rcx-faq__q::after{
  content:"";position:absolute;right:24px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--rcx-blue);border-bottom:2px solid var(--rcx-blue);
  transform:translateY(-70%) rotate(45deg);transition:transform .3s;
}
.rcx-faq__item.is-open .rcx-faq__q::after{transform:translateY(-30%) rotate(-135deg)}
.rcx-faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.rcx-faq__a > div{padding:0 26px 24px;font-size:.96rem}

/* ------------------------------------------------------------ Contact ---- */
.rcx-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}
.rcx-contact__cards{display:grid;gap:16px}
.rcx-contact__card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius-sm);padding:22px}
.rcx-contact__card .rcx-ic{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:rgba(55,112,191,.10);color:var(--rcx-blue);flex:none}
.rcx-contact__card .rcx-ic svg{width:22px;height:22px}
.rcx-contact__card b{display:block;font-family:var(--rcx-font-head);color:var(--rcx-heading);margin-bottom:2px}
.rcx-contact__card a,.rcx-contact__card span{font-size:.95rem}
.rcx-form{background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);padding:34px;box-shadow:var(--rcx-shadow)}
.rcx-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rcx-field{margin-bottom:18px;display:block}
.rcx-field > span{display:block;font-weight:600;font-size:.88rem;color:var(--rcx-heading);margin-bottom:7px}
.rcx-field input,.rcx-field select,.rcx-field textarea{
  width:100%;padding:13px 16px;border:1px solid var(--rcx-line);border-radius:10px;font-family:inherit;
  font-size:.95rem;color:var(--rcx-heading);background:var(--rcx-soft);transition:border-color .25s,background .25s;
}
.rcx-field input:focus,.rcx-field select:focus,.rcx-field textarea:focus{outline:none;border-color:var(--rcx-blue);background:#fff}
.rcx-field textarea{min-height:130px;resize:vertical}
.rcx-check{display:flex;gap:11px;align-items:flex-start;font-size:.86rem;margin-bottom:22px}
.rcx-check input{margin-top:4px;flex:none;accent-color:var(--rcx-blue)}
.rcx-notice{padding:14px 18px;border-radius:10px;font-size:.92rem;margin-bottom:20px}
.rcx-notice--ok{background:rgba(63,183,58,.10);color:#227A1E;border:1px solid rgba(63,183,58,.3)}
.rcx-notice--err{background:rgba(220,60,60,.08);color:#B02A2A;border:1px solid rgba(220,60,60,.25)}

/* --------------------------------------------------------- Page interne -- */
.rcx-pagehead{position:relative;background:var(--rcx-ink);color:#C6D4E4;overflow:hidden;isolation:isolate}
.rcx-pagehead::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(12,26,43,.96),rgba(27,52,85,.9))}
.rcx-pagehead__media{position:absolute;inset:0;z-index:-2;opacity:.5}
.rcx-pagehead__media img{width:100%;height:100%;object-fit:cover}
.rcx-pagehead__inner{padding:86px 0;text-align:center}
.rcx-pagehead h1{color:#fff;margin-bottom:12px}
.rcx-crumbs{display:flex;gap:10px;justify-content:center;font-size:.9rem;flex-wrap:wrap}
.rcx-crumbs a{color:var(--rcx-amber)}
.rcx-crumbs span{color:#9FB2C8}
.rcx-entry{max-width:820px;margin:0 auto}
.rcx-entry img{border-radius:var(--rcx-radius);margin:24px 0}
.rcx-entry h2{margin-top:1.6em}
.rcx-entry blockquote{border-left:4px solid var(--rcx-blue);background:var(--rcx-soft);margin:24px 0;padding:20px 26px;border-radius:0 12px 12px 0;font-size:1.05rem;color:var(--rcx-heading)}
.rcx-pagination{display:flex;gap:8px;justify-content:center;margin-top:50px;flex-wrap:wrap}
.rcx-pagination .page-numbers{display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--rcx-line);font-weight:600;color:var(--rcx-heading)}
.rcx-pagination .page-numbers.current,.rcx-pagination .page-numbers:hover{background:var(--rcx-grad);color:#fff;border-color:transparent}

/* ------------------------------------------------------------- Footer ---- */
.rcx-footer{background:var(--rcx-ink);color:#9FB2C8;padding-top:0}
.rcx-newsletter{position:relative;z-index:3;margin-bottom:-1px}
.rcx-newsletter__inner{background:var(--rcx-grad);border-radius:var(--rcx-radius);padding:44px 46px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;box-shadow:var(--rcx-shadow-lg);transform:translateY(-56px);margin-bottom:-56px}
.rcx-newsletter h3{color:#fff;margin-bottom:6px;font-size:1.55rem}
.rcx-newsletter p{color:rgba(255,255,255,.88);margin:0;font-size:.96rem}
.rcx-newsletter form{display:flex;gap:10px;flex-wrap:wrap}
.rcx-newsletter input{flex:1;min-width:200px;padding:14px 18px;border-radius:999px;border:0;font-family:inherit;font-size:.95rem}
.rcx-newsletter input:focus{outline:3px solid rgba(255,255,255,.6)}
.rcx-newsletter button{background:var(--rcx-ink);color:#fff;border:0}
.rcx-newsletter button:hover{background:#000}
.rcx-footer__main{padding:96px 0 56px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px}
.rcx-footer__brand img{max-height:84px;width:auto;margin-bottom:20px}
.rcx-footer__brand p{font-size:.94rem;margin-bottom:20px}
.rcx-footer h4{color:#fff;font-size:1.05rem;margin-bottom:22px;position:relative;padding-bottom:12px}
.rcx-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:3px;background:var(--rcx-grad-warm)}
.rcx-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.rcx-footer ul a{color:#9FB2C8;font-size:.94rem;display:inline-flex;align-items:center;gap:9px}
.rcx-footer ul a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rcx-sky);flex:none;transition:.25s}
.rcx-footer ul a:hover{color:#fff}
.rcx-footer ul a:hover::before{background:var(--rcx-amber);transform:scale(1.5)}
.rcx-footer__contact{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.rcx-footer__contact li{display:flex;gap:13px;align-items:flex-start;font-size:.94rem}
.rcx-footer__contact svg{width:18px;height:18px;color:var(--rcx-sky);flex:none;margin-top:4px}
.rcx-footer__contact a{color:#CFDCEA}
.rcx-footer__bottom{border-top:1px solid rgba(255,255,255,.09);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.88rem}
.rcx-footer__bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.rcx-footer__bottom a{color:#9FB2C8}
.rcx-footer__bottom a:hover{color:#fff}

/* Bouton retour haut */
.rcx-top{
  position:fixed;right:24px;bottom:24px;width:48px;height:48px;border-radius:50%;border:0;cursor:pointer;
  background:var(--rcx-grad);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(55,112,191,.4);
  opacity:0;visibility:hidden;transform:translateY(14px);transition:.3s;z-index:90;
}
.rcx-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.rcx-top svg{width:18px;height:18px}

/* Animations d'apparition */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ------------------------------------------------------------ Responsive - */
/* Entre 1024 et 1360 px, le logo complet et les six entrees de menu se
   disputent la largeur : on resserre le menu et on reduit un peu le logo. */
@media (max-width:1360px){
  .rcx-brand img{max-height:54px}
  .rcx-header__inner{gap:16px}
  .rcx-menu > li > a{padding:11px 11px;font-size:.92rem}
}
@media (max-width:1180px){
  /* Sous 1180 px, le menu complet ne tient plus a cote du logo et du bouton :
     on passe au menu mobile des ici, plutot qu a 1024. */
  .rcx-header__nav{display:none}
  .rcx-header__actions{margin-left:auto}
  .rcx-burger{display:grid;place-items:center}
  .rcx-header__actions .rcx-btn--primary{display:none}
  .rcx-footer__main{grid-template-columns:1.4fr 1fr 1.2fr;gap:36px}
  .rcx-footer__col--hide{display:none}
}
@media (max-width:1024px){
  .rcx-section{padding:84px 0}
  .rcx-header__nav{display:none}
  .rcx-header__actions{margin-left:auto}
  .rcx-burger{display:grid;place-items:center}
  .rcx-header__actions .rcx-btn--primary{display:none}
  .rcx-grid--4{grid-template-columns:repeat(2,1fr)}
  .rcx-grid--3{grid-template-columns:repeat(2,1fr)}
  .rcx-about{grid-template-columns:1fr;gap:80px}
  .rcx-about__badge{left:-10px}
  .rcx-cta__inner{grid-template-columns:1fr;gap:28px;padding:70px 0}
  .rcx-cta__btns{justify-content:flex-start}
  .rcx-newsletter__inner{grid-template-columns:1fr;padding:36px 30px}
  .rcx-contact{grid-template-columns:1fr;gap:34px}
  .rcx-stats__inner{grid-template-columns:repeat(2,1fr)}
  .rcx-stats__item:nth-child(2){border-right:0}
  .rcx-stats__item:nth-child(1),.rcx-stats__item:nth-child(2){border-bottom:1px solid var(--rcx-line)}
}
@media (max-width:860px){
  .rcx-topbar__info span:nth-child(3){display:none}
  .rcx-hero__inner{padding:96px 0 120px}
  .rcx-footer__main{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:640px){
  :root{--rcx-header-h:74px}
  .rcx-container{padding:0 18px}
  .rcx-header__inner{gap:10px}
  .rcx-header__actions{gap:8px}
  .rcx-brand img{max-height:46px}
  .rcx-lang__btn{padding:8px 10px;font-size:.78rem}
  .rcx-burger{width:42px;height:42px}
  .rcx-section{padding:64px 0}
  .rcx-topbar{display:none}
  .rcx-grid--4,.rcx-grid--3,.rcx-grid--2{grid-template-columns:1fr}
  .rcx-stats__inner{grid-template-columns:1fr}
  .rcx-stats__item{border-right:0;border-bottom:1px solid var(--rcx-line)}
  .rcx-stats__item:last-child{border-bottom:0}
  .rcx-stats{margin-top:-40px}
  .rcx-about__img2{position:static;width:auto;margin-top:16px;border-width:0}
  .rcx-about__badge{position:static;display:inline-block;margin-bottom:16px}
  .rcx-form{padding:24px}
  .rcx-form__row{grid-template-columns:1fr}
  .rcx-footer__main{grid-template-columns:1fr;padding:72px 0 40px}
  .rcx-footer__bottom{justify-content:center;text-align:center}
  .rcx-hero__cta .rcx-btn{width:100%}
}

/* Menu legal du pied de page */
.rcx-legal{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:wrap}
.rcx-legal a::before{display:none}
.rcx-footer__bottom .rcx-legal a{color:#9FB2C8}
.rcx-footer__bottom .rcx-legal a:hover{color:#fff}

/* Widgets de la barre laterale */
.rcx-widget{background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius-sm);padding:24px;margin-bottom:22px}
.rcx-widget__title{font-size:1.05rem;margin-bottom:14px}
.rcx-widget ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.rcx-widget ul a{color:var(--rcx-heading);font-size:.94rem}
.rcx-widget ul a:hover{color:var(--rcx-blue)}
.rcx-blogwrap{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}
@media (max-width:1024px){.rcx-blogwrap{grid-template-columns:1fr}}

/* Formulaire de recherche */
.rcx-searchform{display:flex;gap:8px}
.rcx-searchform input[type=search]{flex:1;padding:12px 16px;border:1px solid var(--rcx-line);border-radius:10px;font-family:inherit;background:var(--rcx-soft)}
.rcx-searchform button{border:0;border-radius:10px;padding:0 16px;background:var(--rcx-grad);color:#fff;cursor:pointer;display:grid;place-items:center}
.rcx-searchform button svg{width:18px;height:18px}

/* Ajustements complementaires */
.rcx-sectitle--compact{margin-bottom:30px}
.rcx-pagehead p{color:#C6D4E4;max-width:680px;margin:0 auto 16px}
.rcx-about__content .rcx-sectitle{max-width:none}
.rcx-entry .rcx-post__meta{display:flex;gap:18px;flex-wrap:wrap}

/* ======================================================== Mega menu ====== */
.rcx-menu > li.rcx-has-mega{position:static}

.rcx-mega{
  position:absolute;left:0;right:0;top:100%;z-index:70;
  padding:0 24px 26px;pointer-events:none;
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .28s ease,transform .28s ease,visibility .28s;
}
/* L'ouverture est pilotee par le script (classe is-open) : il maintient le
   panneau actif pendant 260 ms apres la sortie du curseur, le temps de franchir
   l'espace entre l'entree de menu et le panneau. Le :focus-within couvre le
   clavier, et le :hover reste un repli si le script ne s'execute pas. */
.rcx-menu > li.rcx-has-mega.is-open > .rcx-mega,
.rcx-menu > li.rcx-has-mega:focus-within > .rcx-mega,
.no-js .rcx-menu > li.rcx-has-mega:hover > .rcx-mega{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}

/* Passerelle invisible sous l'entree de menu : elle supprime le trou que le
   curseur devait traverser. */
.rcx-menu > li.rcx-has-mega > a::before{
  content:"";position:absolute;left:0;right:0;top:100%;height:26px;
}

.rcx-mega__inner{
  max-width:var(--rcx-container);margin:0 auto;background:#fff;
  border:1px solid var(--rcx-line);border-radius:22px;
  box-shadow:0 34px 80px rgba(14,32,56,.18);
  display:grid;grid-template-columns:325px 1fr;overflow:hidden;
}

/* Colonne d'introduction illustree */
.rcx-mega__intro{
  position:relative;padding:34px 32px;background:var(--rcx-ink);color:#B9C7D8;
  display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;min-height:340px;
}
.rcx-mega__intro-media{position:absolute;inset:0;z-index:-2}
.rcx-mega__intro-media img{width:100%;height:100%;object-fit:cover}
/* Le voile est un enfant du bloc image (z-index:-2) : il doit donc passer
   au-dessus de l'image a l'interieur de ce contexte d'empilement, pas derriere. */
.rcx-mega__intro-glow{
  position:absolute;inset:0;z-index:1;display:block;
  background:linear-gradient(175deg,rgba(12,26,43,.55) 0%,rgba(12,26,43,.90) 46%,rgba(12,26,43,.97) 100%);
}
.rcx-mega__intro .rcx-eyebrow{color:var(--rcx-amber);margin-bottom:10px}
.rcx-mega__intro .rcx-eyebrow::before{background:var(--rcx-grad-warm)}
.rcx-mega__intro h3{color:#fff;font-size:1.32rem;line-height:1.28;margin-bottom:10px}
.rcx-mega__intro p{font-size:.9rem;line-height:1.6;margin-bottom:20px;color:#C6D4E4}
.rcx-mega__intro .rcx-btn{align-self:flex-start}

/* Corps du panneau */
.rcx-mega__body{padding:26px 28px;display:flex;flex-direction:column;gap:18px}
.rcx-mega__grid{display:grid;gap:8px}
.rcx-mega__grid--2{grid-template-columns:repeat(2,1fr)}

.rcx-mega__card{
  display:flex;gap:14px;align-items:flex-start;padding:13px 14px;border-radius:14px;
  border:1px solid transparent;transition:background .22s,border-color .22s,transform .22s;
}
.rcx-mega__card:hover{background:var(--rcx-soft);border-color:var(--rcx-line);transform:translateX(3px)}
.rcx-mega__ic{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:rgba(55,112,191,.10);color:var(--rcx-blue);transition:background .22s,color .22s;
}
.rcx-mega__ic svg{width:20px;height:20px}
.rcx-mega__card:hover .rcx-mega__ic{background:var(--rcx-grad);color:#fff}
.rcx-mega__txt{display:block;min-width:0}
.rcx-mega__txt b{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:var(--rcx-font-head);font-size:.95rem;font-weight:600;color:var(--rcx-heading);line-height:1.3;
}
.rcx-mega__txt b i{
  font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:var(--rcx-grad-warm);color:#25190A;border-radius:999px;padding:3px 9px;
}
.rcx-mega__txt > span{display:block;font-size:.83rem;line-height:1.5;color:var(--rcx-body);margin-top:3px}
.rcx-mega__card.is-hot .rcx-mega__ic{background:rgba(252,179,50,.16);color:#C87F06}

/* Vignettes produits */
.rcx-mega__shots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rcx-mega__shot{display:block;border-radius:14px;padding:8px 8px 12px;transition:background .22s,transform .22s}
.rcx-mega__shot:hover{background:var(--rcx-soft);transform:translateY(-3px)}
.rcx-mega__shot-img{
  display:block;border-radius:10px;overflow:hidden;border:1px solid var(--rcx-line);
  margin-bottom:10px;background:var(--rcx-soft);
}
.rcx-mega__shot-img img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center}
.rcx-mega__shot b{display:block;font-family:var(--rcx-font-head);font-size:.92rem;color:var(--rcx-heading);line-height:1.3}
.rcx-mega__shot span{display:block;font-size:.76rem;color:var(--rcx-body);margin-top:2px}

/* Articles */
.rcx-mega__posts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcx-mega__post{display:block;border-radius:14px;padding:8px;transition:background .22s,transform .22s}
.rcx-mega__post:hover{background:var(--rcx-soft);transform:translateY(-3px)}
.rcx-mega__post-img{display:block;border-radius:10px;overflow:hidden;margin-bottom:11px}
.rcx-mega__post-img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.rcx-mega__post-txt i{
  display:block;font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--rcx-green);margin-bottom:5px;
}
.rcx-mega__post-txt b{display:block;font-family:var(--rcx-font-head);font-size:.92rem;color:var(--rcx-heading);line-height:1.34}
.rcx-mega__post-txt > span{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--rcx-body);margin-top:7px}
.rcx-mega__post-txt > span svg{width:13px;height:13px;color:var(--rcx-blue)}

/* Bandeau bas de panneau */
.rcx-mega__foot{
  display:flex;align-items:center;gap:16px;margin-top:auto;
  padding:16px 20px;border-radius:16px;background:var(--rcx-soft);border:1px solid var(--rcx-line);
}
.rcx-mega__foot-ic{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:var(--rcx-grad);color:#fff;
}
.rcx-mega__foot-ic svg{width:20px;height:20px}
.rcx-mega__foot > div{flex:1;min-width:0}
.rcx-mega__foot > div b{display:block;font-family:var(--rcx-font-head);font-size:.95rem;color:var(--rcx-heading);line-height:1.3}
.rcx-mega__foot > div span{display:block;font-size:.83rem;color:var(--rcx-body)}
.rcx-mega__foot .rcx-btn{flex:none}

@media (max-width:1240px){
  .rcx-mega__inner{grid-template-columns:280px 1fr}
  .rcx-mega__shots,.rcx-mega__posts{grid-template-columns:repeat(2,1fr)}
  .rcx-mega--products .rcx-mega__shots > *:nth-child(n+5){display:none}
}
@media (max-width:1024px){
  .rcx-mega{display:none}
}

/* ==================================================== Prechargeur ======== */
.rcx-loader{
  position:fixed;inset:0;z-index:9999;display:grid;place-content:center;justify-items:center;gap:22px;
  background:var(--rcx-ink);
  transition:opacity .6s ease,visibility .6s ease;
}
.rcx-loader.is-done{opacity:0;visibility:hidden}
/* Filet de securite : sans JavaScript (ou si le script echoue), le voile
   disparait tout seul au bout de 6 s au lieu de bloquer la page. */
.rcx-loader{animation:rcxLoaderFailsafe 0s linear 6s forwards}
@keyframes rcxLoaderFailsafe{to{opacity:0;visibility:hidden}}
.no-js .rcx-loader{display:none}
.rcx-loader__mark{width:112px;height:112px}
.rcx-loader__mark svg{width:100%;height:100%;overflow:visible}
.rcx-loader__arc{
  fill:none;stroke-width:5;stroke-linecap:round;transform-origin:50% 50%;
  stroke-dasharray:90 190;
}
.rcx-loader__arc--1{stroke:#FCB332;animation:rcxSpin 1.5s linear infinite}
.rcx-loader__arc--2{stroke:#00ABED;animation:rcxSpin 1.9s linear infinite reverse;stroke-dasharray:70 140}
.rcx-loader__arc--3{stroke:#3FB73A;animation:rcxSpin 1.3s linear infinite;stroke-dasharray:48 100}
.rcx-loader__arc--4{stroke:#3770BF;animation:rcxSpin 1.1s linear infinite reverse;stroke-dasharray:26 60}
@keyframes rcxSpin{to{transform:rotate(360deg)}}

.rcx-loader__name{
  margin:0;font-family:var(--rcx-font-head);font-weight:800;font-size:1.35rem;letter-spacing:.05em;
  color:#fff;text-transform:uppercase;animation:rcxPulse 1.8s ease-in-out infinite;
}
.rcx-loader__name span{color:var(--rcx-sky);text-transform:lowercase;font-size:.95em}
@keyframes rcxPulse{0%,100%{opacity:.55}50%{opacity:1}}

.rcx-loader__bar{display:block;width:190px;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.rcx-loader__bar i{display:block;height:100%;width:40%;border-radius:3px;background:var(--rcx-grad);animation:rcxSlide 1.25s ease-in-out infinite}
@keyframes rcxSlide{0%{transform:translateX(-110%)}100%{transform:translateX(360%)}}

/* ================================================== Apparitions ========== */
  opacity:0;transform:translateY(30px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--rcx-delay,0ms);
}

/* Entree de la banniere au chargement */
/* Le contenu n'est masque que lorsque le script a confirme qu'il prendra
   la main (is-armed) : si le JS echoue, la banniere reste lisible. */

/* Zoom lent de la photo de banniere */
.rcx-hero__media img{animation:rcxZoomFade 22s ease-in-out infinite alternate}
@keyframes rcxZoomFade{from{transform:scale(1)}to{transform:scale(1.10)}}

/* Formes decoratives flottantes */
.rcx-shape{position:absolute;display:block;pointer-events:none;z-index:-1}
.rcx-shape--blob{
  border-radius:50%;filter:blur(70px);opacity:.26;
  animation:rcxFloatY 9s ease-in-out infinite alternate;
}
.rcx-shape--a{width:340px;height:340px;background:radial-gradient(circle,#1C9AE1,transparent 68%);top:-70px;right:8%}
.rcx-shape--b{width:280px;height:280px;background:radial-gradient(circle,#3FB73A,transparent 68%);bottom:-60px;right:34%;animation-duration:11s;animation-delay:-3s}
.rcx-shape--c{width:220px;height:220px;background:radial-gradient(circle,#FCB332,transparent 68%);top:38%;left:-90px;animation-duration:13s;animation-delay:-6s}
.rcx-shape--ring{
  width:190px;height:190px;border:2px dashed rgba(255,255,255,.16);border-radius:50%;
  right:6%;bottom:16%;animation:rcxRotate 26s linear infinite;
}
.rcx-shape--dots{
  width:150px;height:150px;right:14%;top:22%;opacity:.35;
  background-image:radial-gradient(rgba(255,255,255,.55) 1.6px,transparent 1.6px);
  background-size:18px 18px;animation:rcxFloatX 10s ease-in-out infinite alternate;
}
@keyframes rcxFloatY{from{transform:translateY(-22px)}to{transform:translateY(26px)}}
@keyframes rcxFloatX{from{transform:translateX(-18px)}to{transform:translateX(20px)}}
@keyframes rcxRotate{to{transform:rotate(360deg)}}

/* Le compteur ne doit pas faire sauter la mise en page pendant l'animation */
.rcx-stats__item b{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  .rcx-hero__media img,.rcx-shape,.rcx-loader__arc,.rcx-loader__bar i,.rcx-loader__name{animation:none!important}
  }

/* ==================================================== Carrousel ========== */
.rcx-slider{position:relative}
/* Toutes les diapositives occupent la meme cellule de grille : la piste prend
   la hauteur de la plus haute et rien ne bouge au changement de diapositive. */
.rcx-slider__track{display:grid}
.rcx-slide{
  grid-area:1 / 1;position:relative;
  opacity:0;visibility:hidden;
  transition:opacity .9s ease,visibility .9s ease;
}
.rcx-slide.is-active{opacity:1;visibility:visible;z-index:2}
.rcx-slide .rcx-hero__badge b{
  background:var(--rcx-grad-warm);color:#25190A;border-radius:999px;padding:5px 14px;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;
}
.rcx-slide .rcx-hero__inner{padding:132px 0 156px}

/* Le contenu de la diapositive active entre en cascade */
/* Le titre et l'accroche ont leur propre animation (bascule par caractere et
   montee derriere un masque) : la cascade ne concerne que les autres elements.
   Elle est declenchee par `is-shown`, posee par le script — `is-active` est
   deja dans le HTML au chargement et ne produirait aucune transition. */
.rcx-slider.is-armed .rcx-slide .rcx-hero__inner > *:not(h1):not(.rcx-hero__lead){
  opacity:0;transform:translateY(26px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);
}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-hero__inner > *:not(h1):not(.rcx-hero__lead){opacity:1;transform:none}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-hero__inner > *:nth-child(1){transition-delay:.10s}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-hero__inner > *:nth-child(4){transition-delay:1.1s}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-hero__inner > *:nth-child(5){transition-delay:1.3s}

.rcx-slider__arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:52px;height:52px;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.28);color:#fff;
  transition:background .25s,color .25s,transform .25s;
}
.rcx-slider__arrow:hover{background:#fff;color:var(--rcx-heading)}
.rcx-slider__arrow svg{width:20px;height:20px}
.rcx-slider__arrow--prev{left:26px}
.rcx-slider__arrow--prev svg{transform:rotate(180deg)}
.rcx-slider__arrow--next{right:26px}
.rcx-slider__arrow--prev:hover{transform:translateY(-50%) translateX(-3px)}
.rcx-slider__arrow--next:hover{transform:translateY(-50%) translateX(3px)}

.rcx-slider__dots{
  position:absolute;left:0;right:0;bottom:92px;z-index:6;
  display:flex;gap:10px;justify-content:center;
}
.rcx-slider__dot{
  width:34px;height:5px;border-radius:5px;border:0;cursor:pointer;padding:0;
  background:rgba(255,255,255,.32);transition:background .3s,width .3s;
}
.rcx-slider__dot.is-active{background:var(--rcx-grad-warm);width:56px}


/* Le voile sombre appartient a chaque diapositive : la diapositive active est
   empilee au-dessus du ::before de la section, qui ne la couvrirait donc pas. */
.rcx-slider::before{display:none}
.rcx-slide{isolation:isolate}
.rcx-slide .rcx-hero__media{z-index:0}
.rcx-slide::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(12,26,43,.97) 0%,rgba(12,26,43,.90) 42%,rgba(12,26,43,.55) 74%,rgba(12,26,43,.40) 100%);
}
.rcx-slide > .rcx-container{position:relative;z-index:2}
.rcx-slider__dots{bottom:104px}

/* ==================================================== Trois métiers ====== */
.rcx-pillars{align-items:stretch}
.rcx-pillar{
  position:relative;background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);
  padding:38px 32px 32px;display:flex;flex-direction:column;height:100%;overflow:hidden;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.rcx-pillar::before{content:"";position:absolute;left:0;top:0;height:5px;width:0;background:var(--rcx-grad);transition:width .35s}
.rcx-pillar:hover{transform:translateY(-8px);box-shadow:var(--rcx-shadow-lg);border-color:transparent}
.rcx-pillar:hover::before{width:100%}
.rcx-pillar__num{
  position:absolute;right:22px;top:16px;font-family:var(--rcx-font-head);font-weight:800;
  font-size:3.4rem;line-height:1;color:var(--rcx-soft);
}
.rcx-pillar__ic{
  width:66px;height:66px;border-radius:19px;display:grid;place-items:center;
  background:var(--rcx-soft);color:var(--rcx-blue);margin-bottom:22px;transition:.35s;
}
.rcx-pillar__ic svg{width:31px;height:31px}
.rcx-pillar:hover .rcx-pillar__ic{background:var(--rcx-grad);color:#fff;transform:rotate(-6deg)}
.rcx-pillar h3{font-size:1.35rem;margin-bottom:10px}
.rcx-pillar p{font-size:.96rem;margin-bottom:20px}
.rcx-pillar ul{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.rcx-pillar ul li{display:flex;gap:11px;align-items:flex-start;font-size:.93rem;line-height:1.5}
.rcx-pillar ul svg{width:17px;height:17px;color:var(--rcx-green);flex:none;margin-top:3px}
.rcx-pillar .rcx-svc__link{margin-top:auto}

/* Le métier principal se distingue */
.rcx-pillar--lead{background:var(--rcx-ink);border-color:transparent;color:#B9C7D8;box-shadow:var(--rcx-shadow-lg)}
.rcx-pillar--lead::before{width:100%;background:var(--rcx-grad-warm)}
.rcx-pillar--lead h3{color:#fff}
.rcx-pillar--lead .rcx-pillar__num{color:rgba(255,255,255,.07)}
.rcx-pillar--lead .rcx-pillar__ic{background:rgba(255,255,255,.10);color:var(--rcx-amber)}
.rcx-pillar--lead:hover .rcx-pillar__ic{background:var(--rcx-grad-warm);color:#25190A}
.rcx-pillar--lead ul svg{color:var(--rcx-lime)}
.rcx-pillar--lead .rcx-svc__link{color:var(--rcx-amber)}

@media (max-width:1024px){
  .rcx-slider__arrow{display:none}
  .rcx-slider__dots{bottom:70px}
  .rcx-slide .rcx-hero__inner{padding:96px 0 120px}
}
@media (prefers-reduced-motion:reduce){
  .rcx-slide{transition:none}
  .rcx-slider.is-armed .rcx-slide .rcx-hero__inner > *{opacity:1!important;transform:none!important;transition:none!important}
  .rcx-slider.is-armed .rcx-slide h1 .rcx-char{opacity:1!important;transform:none!important}
}

/* Produit phare et seconde capture */
.rcx-prod{position:relative}
.rcx-prod--star{border-color:transparent;box-shadow:var(--rcx-shadow-lg)}
.rcx-prod--star .rcx-prod__shot{outline:2px solid var(--rcx-amber);outline-offset:-2px}
.rcx-prod__star{
  position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  background:var(--rcx-grad-warm);color:#25190A;border-radius:999px;padding:6px 13px;
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;
  box-shadow:0 8px 20px rgba(252,179,50,.42);
}
.rcx-prod__star svg{width:13px;height:13px}
.rcx-shot2{margin:28px 0}
.rcx-shot2 img{width:100%;border-radius:var(--rcx-radius);border:1px solid var(--rcx-line);box-shadow:var(--rcx-shadow)}

/* Liste des produits dans le carrousel */
.rcx-hero__prods{
  list-style:none;padding:0;margin:0;display:grid;gap:10px;
  grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;
}
.rcx-hero__prods a{
  display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:13px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);
  color:#fff;transition:background .25s,border-color .25s,transform .25s;
}
.rcx-hero__prods a:hover{background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.rcx-hero__prods svg{width:19px;height:19px;color:var(--rcx-amber);flex:none}
.rcx-hero__prods span{display:block;min-width:0}
.rcx-hero__prods b{
  display:block;font-family:var(--rcx-font-head);font-size:.9rem;font-weight:600;
  line-height:1.25;color:#fff;
}
.rcx-hero__prods i{
  display:block;font-style:normal;font-size:.72rem;line-height:1.35;color:#B9C7D8;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
@media (max-width:1024px){.rcx-hero__prods{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rcx-hero__prods{grid-template-columns:1fr}}

/* Les apparitions sont assurees par animate.css + wow.js. La duree par defaut
   d'animate.css (1 s) est un peu lente pour des cartes : on la resserre, sans
   toucher aux effets eux-memes. */
.animated{animation-duration:.85s;animation-fill-mode:both}
@media (prefers-reduced-motion:reduce){
  .wow,.animated{animation:none!important;visibility:visible!important;opacity:1!important}
}

/* Sous-titre de departement */
.rcx-pillar__sub{
  display:block;font-family:var(--rcx-font-head);font-weight:700;font-size:.72rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--rcx-blue);margin-bottom:5px;
}
.rcx-pillar--lead .rcx-pillar__sub{color:var(--rcx-amber)}
.rcx-pillar h3{margin-bottom:12px}

/* ================================================== Bandeau defilant ===== */
.rcx-marquee-section{padding-bottom:46px}
.rcx-marquee__label{
  text-align:center;font-family:var(--rcx-font-head);font-weight:700;font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--rcx-body);margin:0 0 26px;
}
.rcx-marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rcx-marquee__track{display:flex;align-items:center;gap:56px;width:max-content;animation:rcxMarquee 38s linear infinite}
.rcx-marquee:hover .rcx-marquee__track{animation-play-state:paused}
@keyframes rcxMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rcx-marquee__item{flex:none;display:grid;place-items:center;min-width:150px}
.rcx-marquee__item img{max-height:52px;width:auto;filter:grayscale(1);opacity:.55;transition:filter .3s,opacity .3s}
.rcx-marquee__item:hover img{filter:none;opacity:1}
.rcx-marquee__mark{display:inline-flex;align-items:center;gap:10px;color:var(--rcx-heading);opacity:.62;transition:opacity .3s,color .3s}
.rcx-marquee__mark svg{width:24px;height:24px;color:var(--rcx-blue)}
.rcx-marquee__mark b{font-family:var(--rcx-font-head);font-size:1.05rem;font-weight:700;white-space:nowrap}
.rcx-marquee__item:hover .rcx-marquee__mark{opacity:1;color:var(--rcx-blue)}
@media (prefers-reduced-motion:reduce){.rcx-marquee__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

/* ============================================ Ce que comprend une mission */
.rcx-feature{position:relative;background:var(--rcx-ink);color:#B9C7D8;overflow:hidden;isolation:isolate;padding:104px 0}
.rcx-feature__media{position:absolute;inset:0;z-index:-2}
.rcx-feature__media img{width:100%;height:100%;object-fit:cover}
.rcx-feature::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(12,26,43,.97) 0%,rgba(12,26,43,.92) 46%,rgba(12,26,43,.62) 100%);
}
.rcx-feature__inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.rcx-feature__text h2{color:#fff;margin-bottom:16px}
.rcx-feature__text h2 em{font-style:normal;background:linear-gradient(100deg,#FCB332,#7FC428 60%,#00ABED);-webkit-background-clip:text;background-clip:text;color:transparent}
.rcx-feature__text p{font-size:1.03rem;margin-bottom:28px}
.rcx-feature .rcx-eyebrow{color:var(--rcx-amber)}
.rcx-feature .rcx-eyebrow::before{background:var(--rcx-grad-warm)}
.rcx-feature__card{background:#fff;border-radius:var(--rcx-radius);padding:34px 32px 0;box-shadow:var(--rcx-shadow-lg);overflow:hidden}
.rcx-feature__card h3{font-size:1.25rem;margin-bottom:20px}
.rcx-feature__card ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:13px}
.rcx-feature__card li{display:flex;gap:12px;align-items:flex-start;font-size:.96rem;line-height:1.55;color:var(--rcx-body)}
.rcx-feature__card svg{width:19px;height:19px;color:var(--rcx-green);flex:none;margin-top:3px}
.rcx-feature__foot{
  display:flex;align-items:center;justify-content:center;gap:10px;margin:0 -32px;padding:18px;
  background:var(--rcx-ink);color:#fff;font-family:var(--rcx-font-head);font-weight:700;font-size:.92rem;
  transition:background .25s;
}
.rcx-feature__foot:hover{background:var(--rcx-blue);color:#fff}
.rcx-feature__foot svg{width:16px;height:16px;transition:transform .3s}
.rcx-feature__foot:hover svg{transform:translateX(5px)}

/* ==================================================== Nos engagements ==== */
.rcx-promise{background:#fff;border:1px solid var(--rcx-line);border-radius:var(--rcx-radius);padding:32px 26px;height:100%;transition:transform .3s,box-shadow .3s}
.rcx-promise:hover{transform:translateY(-7px);box-shadow:var(--rcx-shadow)}
.rcx-promise__ic{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--rcx-soft);color:var(--rcx-blue);margin-bottom:20px;transition:.35s}
.rcx-promise__ic svg{width:27px;height:27px}
.rcx-promise:hover .rcx-promise__ic{background:var(--rcx-grad);color:#fff;transform:rotate(-6deg)}
.rcx-promise h4{font-size:1.1rem;margin-bottom:8px}
.rcx-promise p{font-size:.94rem;margin:0}

/* ============================================================= Videos ==== */
.rcx-videos{position:relative;overflow:hidden;isolation:isolate}
.rcx-video{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--rcx-radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.rcx-video:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.3)}
.rcx-video__play{position:relative;display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;overflow:hidden}
.rcx-video__play img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .6s}
.rcx-video:hover .rcx-video__play img{transform:scale(1.05)}
.rcx-video__icon{
  position:absolute;inset:0;margin:auto;width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;background:var(--rcx-grad);color:#fff;
  box-shadow:0 12px 30px rgba(55,112,191,.5);transition:transform .3s;
}
.rcx-video__icon svg{width:22px;height:22px;margin-left:3px}
.rcx-video__play:hover .rcx-video__icon{transform:scale(1.12)}
.rcx-video__time{position:absolute;right:12px;bottom:12px;background:rgba(12,26,43,.82);color:#fff;font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:6px}
.rcx-video__body{padding:22px 24px 26px}
.rcx-video__body h3{font-size:1.1rem;color:#fff;margin-bottom:8px}
.rcx-video__body p{font-size:.92rem;margin:0;color:#B9C7D8}
.rcx-video iframe{width:100%;aspect-ratio:16/9;border:0;display:block}

@media (max-width:1024px){
  .rcx-feature__inner{grid-template-columns:1fr;gap:38px}
  .rcx-feature{padding:78px 0}
}

/* ======================================= Panneaux diagonaux du carrousel ==
   Formes du slider d'origine (parallelogramme, coin, trait), refaites en
   clip-path et teintees aux couleurs Randare. Durees et adoucissement repris
   des reglages du slider : 2,5 s / 2,2 s / 1,9 s en power3.out. */
.rcx-slide__panels{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.rcx-panel{position:absolute;display:block;will-change:transform,opacity}

/* Bandeau bleu, du bleu roi vers le cyan. Rectangle pivote de 13 degres comme
   le coin vert et les barres : un clip-path donnait un angle dependant des
   proportions (9,9 degres ici), donc jamais parallele aux barres. Il est assez
   decale a gauche pour que son bord gauche sorte du cadre : plus de biseau
   visible a l'extreme gauche, le bleu part du bord de l'ecran.
   L'inclinaison de l'element fait tourner le degrade avec lui : 145 + 13 = 158. */
.rcx-panel--1{
  top:-42%;left:-12%;width:44%;height:170%;transform:rotate(13deg);
  background:linear-gradient(145deg,rgba(55,112,191,.44) 0%,rgba(28,154,225,.24) 55%,rgba(0,171,237,.08) 100%);
}

/* Coin triangulaire a droite, du vert vers l'ambre. */
/* Rectangle pivote de 13 degres plutot qu'un clip-path : l'angle d'un polygone
   depend des proportions de l'element et derivait des barres. Ici le coin vert
   est parallele aux barres par construction. */
/* Descendu jusque sous la fleche : son angle haut se pose 25 px sous elle. */
.rcx-panel--2{
  top:58%;right:-9%;width:24%;height:150%;
  background:linear-gradient(202deg,rgba(63,183,58,.30) 0%,rgba(127,196,40,.18) 50%,rgba(252,179,50,.10) 100%);
}

/* Deux barres blanches seulement, comme dans le template, et qui ne traversent
   pas toute la hauteur : celle de gauche longe le panneau bleu et s'arrete au
   niveau du texte, celle de droite s'arrete au milieu. */
.rcx-panel--bar1,
.rcx-panel--bar2{
  border-radius:4px;transform-origin:center center;background:rgba(255,255,255,.9);
}
/* Meme ecart de 18 px entre chaque barre et le bord de son bandeau.
   La barre de gauche s'arrete juste au-dessus du titre : le bandeau bleu
   ayant recule, elle traversait sinon la premiere ligne. */
.rcx-panel--bar1{left:40.41%;top:-24%;width:5px;height:46%}
.rcx-panel--bar2{right:8.69%;bottom:-8%;width:4px;height:52%;background:rgba(255,255,255,.7)}

/* Etat de repos, pose par le script seulement : sans JavaScript les formes
   restent visibles a leur place plutot que de disparaitre. */
.rcx-slider.is-armed .rcx-panel{
  opacity:0;
  transition:opacity 1.3s ease,transform 2.5s cubic-bezier(.215,.61,.355,1);
}
.rcx-slider.is-armed .rcx-panel--1{transform:rotate(13deg) translateX(-150%)}
.rcx-slider.is-armed .rcx-panel--2{transform:rotate(13deg) translateX(115%);transition-duration:1.2s,2.2s}
.rcx-slider.is-armed .rcx-panel--bar1{transform:rotate(13deg) translateX(-900px);transition-duration:1s,2.3s}
.rcx-slider.is-armed .rcx-panel--bar2{transform:rotate(13deg) translateX(900px);transition-duration:1s,2.1s}

/* Etat d'arrivee de la diapositive affichee. */
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-panel{opacity:1}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-panel--1{transform:rotate(13deg) translateX(0);transition-delay:.45s}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-panel--2{transform:rotate(13deg) translateX(0);transition-delay:.65s}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-panel--bar1{transform:rotate(13deg) translateX(0);transition-delay:.7s}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-panel--bar2{transform:rotate(13deg) translateX(0);transition-delay:.85s}

/* Le contenu passe au-dessus des panneaux. */
.rcx-slide > .rcx-container{z-index:3}

@media (max-width:860px){
  /* Sur petit ecran le titre occupe toute la largeur : les barres le
     traverseraient. On ne garde que le bandeau bleu. */
  .rcx-panel--2,.rcx-panel--bar1,.rcx-panel--bar2{display:none}
  .rcx-panel--1{left:-30%;width:70%}
}
@media (prefers-reduced-motion:reduce){
  .rcx-slider.is-armed .rcx-panel{transition:none;opacity:1;transform:none}
  .rcx-slider.is-armed .rcx-panel--1,
  .rcx-slider.is-armed .rcx-panel--bar1,
  .rcx-slider.is-armed .rcx-panel--bar2,
  .rcx-slider.is-armed .rcx-panel--2{transform:rotate(13deg)}
}

/* Credit de conception, en pied de page */
.rcx-footer__credit{display:block;margin-top:4px;font-size:.82rem;color:#7E90A8}
.rcx-footer__credit::before{content:"";display:inline-block;width:16px;height:1px;background:var(--rcx-sky);vertical-align:middle;margin-right:8px}
@media (max-width:640px){.rcx-footer__credit{margin-top:6px}}

/* Galerie de diapositives sur la fiche produit */
/* Galerie d'une fiche produit : les captures defilent deux par deux, avec
   avance automatique. Le debordement est masque par le conteneur, la piste
   glisse en translation. */
.rcx-gallery{position:relative;margin:30px 0 34px;padding:0 0 38px}
.rcx-gallery__track{
  display:flex;gap:18px;
  transition:transform .75s cubic-bezier(.22,.61,.36,1);will-change:transform;
}
.rcx-gallery figure{
  margin:0;flex:0 0 calc(50% - 9px);border-radius:var(--rcx-radius-sm);
  overflow:hidden;border:1px solid var(--rcx-line);box-shadow:var(--rcx-shadow);
  transition:box-shadow .3s;background:#fff;
}
.rcx-gallery figure:hover{box-shadow:var(--rcx-shadow-lg)}
.rcx-gallery img{width:100%;display:block}

/* La piste deborde du cadre : on la masque sans rogner l'ombre verticale. */
.rcx-gallery{overflow:hidden}

.rcx-gallery__nav{
  position:absolute;top:calc(50% - 19px);transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;border:1px solid var(--rcx-line);
  background:rgba(255,255,255,.94);color:var(--rcx-heading);cursor:pointer;
  display:grid;place-items:center;box-shadow:var(--rcx-shadow);
  transition:background .2s,color .2s,opacity .2s;opacity:0;
}
.rcx-gallery:hover .rcx-gallery__nav,
.rcx-gallery__nav:focus-visible{opacity:1}
.rcx-gallery__nav:hover{background:var(--rcx-blue);color:#fff;border-color:transparent}
.rcx-gallery__nav svg{width:18px;height:18px}
.rcx-gallery__nav--prev{left:12px}
.rcx-gallery__nav--prev svg{transform:rotate(180deg)}
.rcx-gallery__nav--next{right:12px}

.rcx-gallery__dots{
  position:absolute;left:0;right:0;bottom:6px;
  display:flex;justify-content:center;gap:8px;
}
.rcx-gallery__dots button{
  width:26px;height:4px;border:0;padding:0;border-radius:3px;cursor:pointer;
  background:var(--rcx-line);transition:background .25s,width .25s;
}
.rcx-gallery__dots button.is-active{background:var(--rcx-grad);width:40px}

@media (max-width:760px){
  .rcx-gallery figure{flex:0 0 100%}
  .rcx-gallery__nav{opacity:1;width:36px;height:36px}
}
@media (prefers-reduced-motion:reduce){
  .rcx-gallery__track{transition:none}
}

/* ============================== Entree du texte des diapositives ==========
   Reprise des reglages du slider : le titre bascule caractere par caractere
   (rotationX -90deg, 10 ms d'ecart, power4.inOut sur 1750 ms), l'accroche
   monte derriere un masque. */
.rcx-slide h1{perspective:900px}
.rcx-slide h1 .rcx-word{display:inline-block;white-space:nowrap}
.rcx-slide h1 .rcx-char{display:inline-block;transform-origin:50% 50% -50px}
.rcx-slider.is-armed .rcx-slide h1 .rcx-char{
  opacity:0;transform:rotateX(-90deg);
  transition:opacity .9s ease,transform 1.75s cubic-bezier(.77,0,.175,1);
}
.rcx-slider.is-armed .rcx-slide.is-shown h1 .rcx-char{opacity:1;transform:none}

.rcx-hero__lead{overflow:hidden}
.rcx-hero__lead > span{display:block}
.rcx-slider.is-armed .rcx-slide .rcx-hero__lead > span{
  transform:translateY(110%);
  transition:transform 1.75s cubic-bezier(.22,.61,.36,1);
}
.rcx-slider.is-armed .rcx-slide.is-shown .rcx-hero__lead > span{transform:none;transition-delay:.55s}

@media (prefers-reduced-motion:reduce){
  .rcx-slider.is-armed .rcx-slide h1 .rcx-char,
  .rcx-slider.is-armed .rcx-slide .rcx-hero__lead > span{
    opacity:1!important;transform:none!important;transition:none!important;
  }
}

/* La partie colorée du titre s'anime d'un bloc : son dégradé est découpé sur
   le texte et ne survivrait pas à un découpage en caractères. */
.rcx-slide h1 .rcx-char--block{transform-origin:50% 50% -60px}

/* ================================================= Logos des produits =====
   Le logo accompagne le nom partout ou le produit est presente. Les logos
   fournis ont des proportions tres differentes : on contraint la hauteur et
   on laisse la largeur suivre. */
.rcx-plogo{
  display:flex;align-items:center;flex:none;height:34px;margin:0 0 8px;
}
.rcx-plogo img{height:100%;width:auto;max-width:150px;object-fit:contain;
  object-position:left center;display:block}
.rcx-plogo--sm{height:20px;margin:0 0 5px}
.rcx-plogo--sm img{max-width:108px}
.rcx-plogo--lg{height:54px;margin:0}
.rcx-plogo--lg img{max-width:260px}

/* Le logo occupe sa propre ligne au-dessus du nom : les six marques ont des
   proportions trop differentes (du carre au bandeau 6:1) pour tenir cote a
   cote avec un titre long sans casser l'alignement d'une carte a l'autre. */
.rcx-prod h3 .rcx-plogo,
.rcx-mega__shot b .rcx-plogo{margin-bottom:6px}
.rcx-prod h3,
.rcx-mega__shot b{display:block}
.rcx-hero__prods b{display:block}

/* La pastille du logo mord sur la banniere : la section qui suit
   n'a plus besoin de tout son retrait haut. */
/* Dans la liste du carrousel le logo tient lieu de pastille a gauche :
   marge laterale, pas de marge basse, et petit pour laisser le nom
   tenir sur une ligne. */
/* Pastille blanche sous le logo : plusieurs marques sont dessinees pour un
   fond clair (le bleu du ministere, par exemple) et disparaissaient sur le
   fond sombre du carrousel. Elles retrouvent ici l'aspect qu'elles ont sur
   la fiche produit. */
.rcx-hero__prods .rcx-plogo{
  margin:0 10px 0 0;height:30px;background:#fff;border-radius:9px;
  padding:5px 7px;box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.rcx-hero__prods .rcx-plogo img{max-width:74px}

.rcx-plead + .rcx-section{padding-top:38px}
.rcx-plogo-lead{display:flex;justify-content:center;margin:-28px 0 6px;position:relative;z-index:5}
.rcx-plogo-lead .rcx-plogo{
  background:#fff;border-radius:16px;padding:14px 22px;height:auto;
  box-shadow:var(--rcx-shadow);border:1px solid var(--rcx-line);
}
.rcx-plogo-lead .rcx-plogo img{height:44px}

@media (max-width:640px){
  .rcx-plogo{height:28px}
  .rcx-plogo-lead .rcx-plogo img{height:34px}
}

/* ============================================ En-tete de departement =====
   Chaque departement ouvre sa propre bande sur la page des expertises. */
.rcx-dept{
  display:flex;gap:22px;align-items:flex-start;
  max-width:820px;margin:0 auto 46px;text-align:left;
}

/* Version illustree : le texte d'un cote, la ou les photos de l'autre, et
   l'on alterne le sens d'une bande a la suivante. */
.rcx-dept--split{
  display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;
  max-width:none;margin-bottom:54px;
}
.rcx-dept__head{display:flex;gap:22px;align-items:flex-start}
.rcx-dept--flip .rcx-dept__head{order:2}
.rcx-dept--flip .rcx-dept__pics{order:1}

.rcx-dept__pics{display:grid;gap:16px}
.rcx-dept__pics--2{grid-template-columns:1.35fr 1fr}
.rcx-dept__pics img{
  width:100%;height:100%;object-fit:cover;border-radius:20px;
  box-shadow:var(--rcx-shadow);display:block;
}
.rcx-dept__pics--1 img{aspect-ratio:16/10}
.rcx-dept__pics--2 img{aspect-ratio:4/5}

@media (max-width:960px){
  .rcx-dept--split{grid-template-columns:1fr;gap:30px}
  .rcx-dept--flip .rcx-dept__head{order:1}
  .rcx-dept--flip .rcx-dept__pics{order:2}
  .rcx-dept__pics--2 img{aspect-ratio:16/10}
}
.rcx-dept__ic{
  flex:none;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;
  background:var(--rcx-grad);color:#fff;box-shadow:var(--rcx-shadow);
}
.rcx-dept__ic svg{width:30px;height:30px}
.rcx-dept__sub{
  display:block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--rcx-green);margin-bottom:6px;
}
.rcx-dept h2{font-size:2rem;margin:0 0 10px}
.rcx-dept p{margin:0;color:var(--rcx-muted);font-size:1rem;line-height:1.7}

@media (max-width:640px){
  .rcx-dept{gap:16px;margin-bottom:34px}
  .rcx-dept__ic{width:52px;height:52px;border-radius:15px}
  .rcx-dept__ic svg{width:24px;height:24px}
  .rcx-dept h2{font-size:1.5rem}
}

/* ============================================= Bandeau « ils nous font
   confiance » : version encadree, reprise du bloc logos du theme d'origine. */
.rcx-trust__box{
  background:#fff;border:1px solid var(--rcx-line);border-radius:26px;
  padding:44px 0 30px;box-shadow:var(--rcx-shadow);
}
.rcx-trust__box .rcx-marquee__track{gap:74px}
.rcx-trust__box .rcx-marquee__item{min-width:170px}
.rcx-trust__box .rcx-marquee__item img{max-height:46px}
.rcx-trust__note{
  display:flex;align-items:center;justify-content:center;gap:9px;
  margin:34px 0 0;padding:0 24px;font-size:.93rem;color:var(--rcx-muted);text-align:center;
}
.rcx-trust__note svg{width:18px;height:18px;color:var(--rcx-green);flex:none}

@media (max-width:640px){
  .rcx-trust__box{padding:30px 0 22px;border-radius:20px}
  .rcx-trust__box .rcx-marquee__track{gap:48px}
}

/* ================================ Panneau « expertises » du mega menu =====
   Une colonne par departement, ses prestations dessous. */
.rcx-mega__depts{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.rcx-mega__dept-head{
  display:flex;gap:12px;align-items:center;margin-bottom:14px;
  padding-bottom:14px;border-bottom:1px solid var(--rcx-line);
}
.rcx-mega__dept-head b{
  display:block;font-family:var(--rcx-font-head);font-size:.98rem;
  color:var(--rcx-heading);line-height:1.25;
}
.rcx-mega__dept-head i{
  display:block;font-style:normal;font-size:.74rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--rcx-green);margin-top:3px;
}
.rcx-mega__dept-head:hover b{color:var(--rcx-blue)}
.rcx-mega__dept ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.rcx-mega__dept ul a{
  display:block;font-size:.88rem;line-height:1.45;color:var(--rcx-muted);
  transition:color .2s,transform .2s;
}
.rcx-mega__dept ul a:hover{color:var(--rcx-blue);transform:translateX(3px)}

@media (max-width:1100px){
  .rcx-mega__depts{grid-template-columns:repeat(2,1fr);gap:22px}
}

/* ==================================== La solution maison d'un departement ==
   Bloc mis en avant a l'ouverture de la bande : le produit que le
   departement vend en propre, avant les prestations qui l'entourent. */
.rcx-flagship{
  display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;
  background:var(--rcx-ink);border-radius:26px;padding:44px 46px;
  margin:0 0 40px;box-shadow:var(--rcx-shadow-lg);position:relative;overflow:hidden;
}
.rcx-flagship::before{
  content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--rcx-grad);
}
.rcx-flagship__eyebrow{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--rcx-amber);margin-bottom:14px;
}
.rcx-flagship h3{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  color:#fff;font-size:1.9rem;margin:0 0 14px;
}
.rcx-flagship h3 .rcx-plogo{
  background:#fff;border-radius:14px;padding:10px 14px;height:auto;margin:0;
}
.rcx-flagship h3 .rcx-plogo img{height:34px;max-width:190px}
.rcx-flagship__lead{color:#C6D3E3;font-size:1.02rem;line-height:1.7;margin:0 0 14px}
.rcx-flagship__note{color:#8FA3BC;font-size:.93rem;line-height:1.65;margin:0 0 26px}
.rcx-flagship__cta{display:flex;gap:14px;flex-wrap:wrap}
.rcx-flagship__cta .rcx-btn--ghost{color:#fff;border-color:rgba(255,255,255,.28)}
.rcx-flagship__cta .rcx-btn--ghost:hover{border-color:var(--rcx-amber);color:var(--rcx-amber)}
.rcx-flagship__shot img{
  width:100%;height:auto;border-radius:16px;display:block;
  box-shadow:0 22px 50px rgba(0,0,0,.35);
}

@media (max-width:960px){
  .rcx-flagship{grid-template-columns:1fr;gap:28px;padding:32px 26px;border-radius:20px}
  .rcx-flagship h3{font-size:1.5rem}
}

/* ========================================================= Visionneuse =====
   Agrandissement des captures d'une fiche produit. Le fond est opaque pour
   que la capture, souvent claire, ne se confonde pas avec la page. */
.rcx-zoomable{cursor:zoom-in}
.rcx-zoomable:focus-visible{outline:3px solid var(--rcx-blue);outline-offset:3px}

.rcx-noscroll{overflow:hidden}

.rcx-lightbox{
  position:fixed;inset:0;z-index:9999;display:none;
  align-items:center;justify-content:center;gap:18px;padding:40px 78px;
  background:rgba(8,17,30,.93);backdrop-filter:blur(3px);
}
.rcx-lightbox.is-open{display:flex;animation:rcxFadeIn .22s ease}
@keyframes rcxFadeIn{from{opacity:0}to{opacity:1}}

.rcx-lightbox__figure{
  margin:0;max-width:100%;max-height:100%;display:flex;
  flex-direction:column;align-items:center;gap:14px;
}
.rcx-lightbox__figure img{
  max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;
  border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.55);display:block;
}
.rcx-lightbox__figure figcaption{
  color:#C6D3E3;font-size:.94rem;text-align:center;max-width:70ch;
}

.rcx-lightbox__nav,
.rcx-lightbox__close{
  position:absolute;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);
  color:#fff;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  transition:background .2s,border-color .2s,transform .2s;
}
.rcx-lightbox__nav:hover,
.rcx-lightbox__close:hover{background:var(--rcx-blue);border-color:transparent}

.rcx-lightbox__nav{width:52px;height:52px;font-size:1.5rem;top:50%;transform:translateY(-50%)}
.rcx-lightbox__nav:hover{transform:translateY(-50%) scale(1.06)}
.rcx-lightbox__nav--prev{left:18px}
.rcx-lightbox__nav--next{right:18px}

.rcx-lightbox__close{top:18px;right:18px;width:44px;height:44px;font-size:1.7rem;line-height:1}

.rcx-lightbox__count{
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  color:#8FA3BC;font-size:.85rem;letter-spacing:.08em;
}

@media (max-width:640px){
  .rcx-lightbox{padding:56px 12px 60px}
  .rcx-lightbox__nav{width:42px;height:42px;font-size:1.2rem}
  .rcx-lightbox__nav--prev{left:8px}
  .rcx-lightbox__nav--next{right:8px}
  .rcx-lightbox__figure img{max-height:calc(100vh - 170px)}
}

/* ==================================== Realisations d'une fiche expertise ===
   Le bloc « produit phare » reprend celui de la page des expertises, en
   version encastree dans le corps de texte. */
.rcx-flagship--inline{margin:8px 0 34px}

.rcx-shots__lead{color:var(--rcx-muted);font-size:.96rem;margin:0 0 18px}
.rcx-shots{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0 0 38px}
.rcx-shots figure{
  margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--rcx-line);
  box-shadow:var(--rcx-shadow);transition:transform .3s,box-shadow .3s;background:#fff;
}
.rcx-shots figure:hover{transform:translateY(-5px);box-shadow:var(--rcx-shadow-lg)}
.rcx-shots img{width:100%;display:block}
/* Une capture seule sur la derniere ligne occupe toute la largeur. */
.rcx-shots figure:last-child:nth-child(odd){grid-column:1 / -1}

.rcx-works{display:grid;gap:26px;margin:8px 0 38px}
.rcx-work{
  display:grid;grid-template-columns:1.15fr 1fr;gap:30px;align-items:start;
  background:#fff;border:1px solid var(--rcx-line);border-radius:20px;
  padding:22px;box-shadow:0 10px 30px rgba(16,42,80,.06);
  transition:transform .3s,box-shadow .3s;
}
.rcx-work:hover{transform:translateY(-5px);box-shadow:var(--rcx-shadow-lg)}
.rcx-work__shot{border-radius:13px;overflow:hidden;background:var(--rcx-soft)}
/* La capture est montree en entier : un cadrage force en 16/10 rognait le
   bas des pages d'accueil, qui sont plus hautes que larges une fois la
   grille de contenus comprise. */
.rcx-work__shot img{width:100%;height:auto;display:block}
/* Realisation sans capture : une vignette assumee plutot qu'un vide. */
.rcx-work__shot--none{
  display:grid;place-items:center;aspect-ratio:16/10;
  background:linear-gradient(150deg,#111C2E 0%,#1B3352 100%);color:#fff;
}
.rcx-work__shot--none span{display:grid;justify-items:center;gap:12px}
.rcx-work__shot--none svg{width:42px;height:42px;opacity:.9;color:var(--rcx-sky)}
.rcx-work__shot--none b{
  font-family:var(--rcx-font-head);font-size:.92rem;font-weight:700;
  letter-spacing:.05em;color:#B9C7D8;
}
.rcx-work__sub{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--rcx-green);margin-bottom:8px;
}
.rcx-work__txt h3{font-size:1.35rem;margin:0 0 10px}
.rcx-work__txt p{font-size:.95rem;color:var(--rcx-muted);margin:0 0 16px;line-height:1.65}

@media (max-width:760px){
  .rcx-shots{grid-template-columns:1fr}
  .rcx-work{grid-template-columns:1fr;gap:18px}
}

/* ============================================ Bandeau de gamme d'offres ====
   Rattache les packs au produit qu'ils outillent. */
.rcx-range{
  display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;
  background:#fff;border:1px solid var(--rcx-line);border-radius:20px;
  padding:26px 30px;margin:0 0 34px;box-shadow:0 10px 30px rgba(16,42,80,.06);
}
.rcx-range .rcx-plogo{
  background:var(--rcx-soft);border-radius:14px;padding:12px 16px;height:auto;margin:0;
}
.rcx-range .rcx-plogo img{height:38px;max-width:170px}
.rcx-range__sub{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rcx-green);margin-bottom:6px;
}
.rcx-range h3{font-size:1.4rem;margin:0 0 8px}
.rcx-range p{margin:0;font-size:.95rem;color:var(--rcx-muted);line-height:1.65}
.rcx-range .rcx-svc__link{white-space:nowrap}

.rcx-range__soon{
  margin:34px auto 0;max-width:70ch;text-align:center;
  font-size:.95rem;color:var(--rcx-muted);line-height:1.7;
}

@media (max-width:860px){
  .rcx-range{grid-template-columns:1fr;gap:16px;text-align:left;padding:22px}
  .rcx-range .rcx-plogo{justify-self:start}
}

/* ======================================= Gammes des autres departements ====
   Sur la page des offres, sous les packs ReNest. Cartes sobres : ce sont des
   listes de prestations, pas des packs chiffres. */
.rcx-others{margin-top:64px;padding-top:56px;border-top:1px solid var(--rcx-line)}
.rcx-others__title{font-size:1.9rem;text-align:center;margin:0 0 10px}
.rcx-others__lead{
  text-align:center;max-width:70ch;margin:0 auto 40px;
  color:var(--rcx-muted);font-size:1rem;line-height:1.7;
}
.rcx-other{
  background:#fff;border:1px solid var(--rcx-line);border-radius:20px;
  padding:32px 28px;height:100%;display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.rcx-other:hover{transform:translateY(-6px);box-shadow:var(--rcx-shadow-lg);border-color:transparent}
.rcx-other__ic{
  width:52px;height:52px;border-radius:15px;display:grid;place-items:center;
  background:var(--rcx-soft);color:var(--rcx-blue);margin-bottom:18px;
}
.rcx-other__ic svg{width:25px;height:25px}
.rcx-other:hover .rcx-other__ic{background:var(--rcx-grad);color:#fff}
.rcx-other__sub{
  display:block;font-size:.75rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--rcx-green);margin-bottom:6px;
}
.rcx-other h4{font-size:1.25rem;margin:0 0 18px}
.rcx-other ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.rcx-other ul li{display:flex;gap:10px;align-items:flex-start;font-size:.93rem;line-height:1.5}
.rcx-other ul svg{width:16px;height:16px;color:var(--rcx-green);flex:none;margin-top:3px}
.rcx-other__cta{margin-top:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}

@media (max-width:640px){
  .rcx-others{margin-top:44px;padding-top:40px}
  .rcx-others__title{font-size:1.5rem}
}

/* ======================================= Presentation d'une fiche produit ==
   Disposition du bloc « The Best Tech Solution » du theme d'origine : deux
   captures arrondies et un chiffre a gauche, badge / accroche / video / bouton
   a droite. */
.rcx-intro-section{padding-bottom:20px}
.rcx-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}

.rcx-intro__media{
  position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:18px;
  align-items:start;padding-bottom:70px;
}
.rcx-intro__img{margin:0;overflow:hidden;box-shadow:var(--rcx-shadow-lg);background:#fff}
.rcx-intro__img img{width:100%;height:100%;object-fit:cover;object-position:top left;display:block}
.rcx-intro__img--main{border-radius:110px 22px 22px 22px;aspect-ratio:4/5}
.rcx-intro__img--second{border-radius:22px 22px 22px 90px;aspect-ratio:1/1;margin-top:34px}

/* Chiffre cle : pastille posee sur un fond pointille, comme la carte du
   theme d'origine. */
.rcx-intro__stat{
  position:absolute;right:0;bottom:0;width:58%;padding:26px 26px 22px;
  background:
    radial-gradient(circle,rgba(28,154,225,.28) 1.3px,transparent 1.6px) 0 0/14px 14px,
    #fff;
  border-radius:22px;border:1px solid var(--rcx-line);box-shadow:var(--rcx-shadow);
}
.rcx-intro__stat b{
  display:flex;align-items:flex-start;font-family:var(--rcx-font-head);
  font-size:3.4rem;font-weight:800;line-height:1;color:var(--rcx-heading);
}
.rcx-intro__stat b i{font-style:normal;font-size:1.6rem;color:var(--rcx-blue);margin:4px 0 0 4px}
.rcx-intro__stat > span{
  display:block;margin-top:10px;font-size:.78rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:var(--rcx-green);
}

.rcx-intro__badge{
  display:inline-block;padding:8px 16px;border-radius:999px;
  background:var(--rcx-soft);color:var(--rcx-blue);font-size:.74rem;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;
}
.rcx-intro__txt h2{font-size:2.5rem;line-height:1.12;margin:0 0 18px}
.rcx-intro__lead{font-size:1.04rem;line-height:1.75;color:var(--rcx-muted);margin:0 0 28px}

/* Vignette video + texte, puis bouton. */
.rcx-intro__video{display:flex;align-items:center;gap:20px;margin-bottom:30px}
.rcx-intro__play{
  position:relative;flex:none;width:150px;height:98px;border-radius:14px;overflow:hidden;
  border:0;padding:0;background:var(--rcx-ink);cursor:pointer;box-shadow:var(--rcx-shadow);
  display:block;
}
.rcx-intro__play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.72;transition:transform .5s,opacity .3s}
.rcx-intro__play:hover img{transform:scale(1.06);opacity:.85}
.rcx-intro__play-ic{
  position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px 0 0 -24px;
  border-radius:50%;display:grid;place-items:center;color:#fff;
  background:var(--rcx-grad);box-shadow:0 8px 22px rgba(0,0,0,.35);
  transition:transform .25s;
}
.rcx-intro__play-ic svg{width:20px;height:20px;margin-left:3px}
.rcx-intro__play:hover .rcx-intro__play-ic{transform:scale(1.1)}
.rcx-intro__play--soon{cursor:default}
.rcx-intro__play--soon img{opacity:.45;filter:grayscale(.6)}
.rcx-intro__play--soon .rcx-intro__play-ic{background:#6B7A8C;box-shadow:none}

.rcx-intro__video-kicker{
  display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--rcx-blue);
  border-bottom:2px solid var(--rcx-sky);padding-bottom:3px;margin-bottom:8px;
}
.rcx-intro__video-txt b{display:block;font-family:var(--rcx-font-head);font-size:1.05rem;line-height:1.35;color:var(--rcx-heading)}
.rcx-intro__cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

@media (max-width:960px){
  .rcx-intro{grid-template-columns:1fr;gap:40px}
  .rcx-intro__txt h2{font-size:1.9rem}
}
@media (max-width:560px){
  .rcx-intro__media{grid-template-columns:1fr;padding-bottom:0}
  .rcx-intro__img--second{display:none}
  .rcx-intro__stat{position:static;width:auto;margin-top:16px}
  .rcx-intro__img--main{border-radius:60px 18px 18px 18px;aspect-ratio:16/11}
}

/* ================================================= Fenetre video =========
   Meme fond que la visionneuse ; le lecteur garde son 16/9. */
.rcx-vmodal{
  position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;
  padding:40px 24px;background:rgba(8,17,30,.94);backdrop-filter:blur(3px);
}
.rcx-vmodal.is-open{display:flex;animation:rcxFadeIn .22s ease}
.rcx-vmodal__frame{
  width:min(1100px,100%);aspect-ratio:16/9;background:#000;border-radius:14px;
  overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55);
}
.rcx-vmodal__frame iframe{width:100%;height:100%;border:0;display:block}
.rcx-vmodal__close{
  position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;
  font-size:1.7rem;line-height:1;cursor:pointer;display:grid;place-items:center;
  transition:background .2s,border-color .2s;
}
.rcx-vmodal__close:hover{background:var(--rcx-blue);border-color:transparent}
