:root{
  --color-bg:#020617;
  --color-bg-soft:#0b1120;
  --color-surface:#020617;
  --color-border:#1f2937;
  --color-text:#e5e7eb;
  --color-muted:#9ca3af;
  --color-primary:#0ea5e9; /* bleu clair */
  --color-primary-soft:#38bdf8;
  --color-accent:#38bdf8;
  --shadow-soft:0 24px 60px rgba(15,23,42,.8);
}



*{box-sizing:border-box}

html,
body{
  margin:0;
  padding:0;
  max-width:100%;
  overflow-x:hidden;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--color-bg);
  color:var(--color-text);
}

a{color:var(--color-primary);text-decoration:none}
a:hover{text-decoration:underline}

/* =========================
   SECTIONS GLOBALES
   ========================= */
.section{
  position:relative;
  padding:72px 16px;
  color:#e5e7eb;
  overflow:hidden;
}

.section + .section{
  border-top:1px solid rgba(148,163,184,.2);
}

/* Largeur du contenu (container) */
.wrap-full{
  max-width:none;
  width:100%;
  margin:0;
}

.wrap-1600,
.wrap-1200{
  margin:0 auto;
  width:100%;
}

.wrap-1600{max-width:1600px;}
.wrap-1200{max-width:1200px;}

/* Modificateurs de section */
.section--full{
  padding-left:0;
  padding-right:0;
}

.section--boxed-1200 .section-inner{
  max-width:1200px;
  margin:0 auto;
}

.section--boxed-1600 .section-inner{
  max-width:1600px;
  margin:0 auto;
}

/* Layout colonnes */
.section-inner{
  position:relative;
}

.section-body{
  display:flex;
  gap:32px;
  align-items:flex-start;
  flex-wrap:wrap;
}

.section-body > .col{
  flex:1 1 0;
  min-width:240px;
}

/* Reverse desktop (image/Texte inversés) */
.section--reverse .section-body{
  flex-direction:row-reverse;
}

/* Mobile : on remet toujours le texte (H2) en premier,
   car l'ordre DOM = texte d'abord */
@media (max-width:768px){
  .section{
    padding:48px 16px;
  }
  .section-body{
    flex-direction:column;
  }
}

/* Titre + séparateur */
.section-header h2{
  font-size:1.8rem;
  margin:0 0 10px;
}

.section-header hr{
  width:60px;
  border:0;
  border-top:2px solid rgba(56,189,248,0.8);
  margin:0 0 24px;
}

/* =========================
   BACKGROUND & OVERLAY
   ========================= */
/* Fond neutre */
.section--bg-none{
  background:none;
}

/* Fond image / texture (on utilise des variables CSS) */
.section--bg-image{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Overlay : on ajoute un pseudo-élément */
.section--bg-overlay{
  position:relative;
}

.section--bg-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--section-overlay-color, rgba(15,23,42,0.6));
  opacity:var(--section-overlay-opacity, 0.6);
  pointer-events:auto;
}

/* Tout le contenu passe au-dessus de l’overlay */
.section--bg-overlay > *{
  position:relative;
}

/* Opacity helpers (0.1 à 0.9) */
.section--ov-10{ --section-overlay-opacity:0.1; }
.section--ov-20{ --section-overlay-opacity:0.2; }
.section--ov-30{ --section-overlay-opacity:0.3; }
.section--ov-40{ --section-overlay-opacity:0.4; }
.section--ov-50{ --section-overlay-opacity:0.5; }
.section--ov-60{ --section-overlay-opacity:0.6; }
.section--ov-70{ --section-overlay-opacity:0.7; }
.section--ov-80{ --section-overlay-opacity:0.8; }
.section--ov-90{ --section-overlay-opacity:0.9; }

/* Exemple couleurs d'overlay (tu peux en ajouter) */
.section--ov-dark{ --section-overlay-color:rgba(15,23,42,1); }
.section--ov-blue{ --section-overlay-color:rgba(37,99,235,1); }

/* =========================
   EXEMPLE COLONNES TEXTE / MEDIA
   ========================= */
.section-body .col-text p{
  margin-bottom:12px;
  line-height:1.7;
}

.section-body .col-media img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  object-fit:cover;
}


.wrap-1200{max-width:1200px;margin:0 auto;padding:0 16px}
.wrap-1600{max-width:1600px;margin:0 auto;padding:0 16px}
.wrap-800{max-width:800px;margin:0 auto;padding:0 16px}

/* HEADER */
.site-header{position:sticky;top:0;z-index:50;background:rgba(2,6,23,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);}
.header-inner,.header-centered-inner,.header-overlay-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.logo{font-weight:700;font-size:1.1rem}
.main-nav a{margin-left:16px;font-size:.9rem;color:var(--color-text)}
.main-nav a:hover{color:var(--color-primary-soft)}
.header-centered-inner{flex-direction:column;gap:6px}
.main-nav-centered a{margin:0 8px}
.header-overlay{position:absolute;top:0;left:0;right:0;background:transparent;border:none;}

  /* HERO */
  .hero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;background:#020617;}
  .hero-image,.hero-slideshow .hero-slide,.hero-parallax,.hero-video{background-size:cover;background-position:center}
  .hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,23,42,.6),rgba(15,23,42,.9));z-index:1;}
  .hero-content{position:relative;padding:80px 0;z-index:2;}
  .hero-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--color-primary-soft);margin-bottom:10px}
  .hero h1{font-size:2.8rem;margin:0 0 12px;line-height:1.1}
  .hero-text{max-width:580px;font-size:1rem;margin-bottom:20px;color:#d1d5db}
  .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
  .btn-primary{display:inline-block;padding:10px 22px;border-radius:999px;background:var(--color-primary);color:#0b1120;font-weight:600;border:none;cursor:pointer;text-decoration:none}
  .btn-primary:hover{filter:brightness(1.05)}
  .btn-ghost{display:inline-block;padding:10px 22px;border-radius:999px;border:1px solid rgba(148,163,184,.8);color:#e5e7eb;text-decoration:none;font-weight:500}
  .btn-ghost:hover{background:rgba(15,23,42,.8)}
  .hero-video-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero-slides{position:relative;width:100%;height:100%}
  .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
  .hero-slide.is-active{opacity:1}
  .hero-dots{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:10}
  .hero-dots .dot{width:10px;height:10px;border-radius:999px;border:1px solid #e5e7eb;background:transparent;cursor:pointer}
  .hero-dots .dot.is-active{background:#e5e7eb}

  .hero-minimal{background:radial-gradient(circle at top,#0b1120,#020617);text-align:center}
  .hero-minimal-inner{padding:80px 0}
  .hero-split-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center;padding:80px 0}
  .hero-split-media img{width:100%;border-radius:24px;box-shadow:var(--shadow-soft)}

  /* HERO IMG BACKGROUND FIX */
  .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
  .hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
  .hero-overlay{position:absolute;inset:0;z-index:1;}
  .hero-content{position:relative;z-index:2;}


/* PARALLAX */
.parallax-bg{background-attachment:fixed;background-size:cover;background-position:center;position:relative}
.overlay-dark{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,23,42,.7),rgba(15,23,42,.9))}

/* SECTIONS GENERIQUES */
.section:nth-of-type(even){
  background:#020617;
}

.section h2{font-size:1.9rem;margin-bottom:8px}
.section hr{border:0;border-top:1px solid var(--color-border);margin:8px 0 16px}
.section p{color:#cbd5f5;font-size:.95rem}

.section-2cols .section-inner{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:center}
.section-reverse{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);}
.section-reverse .col-text{order:2}
.section-reverse .col-media{order:1}
.img-rounded{width:100%;border-radius:20px;box-shadow:var(--shadow-soft)}

.cards-grid{display:grid;gap:24px}
.cards-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cards-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.card{background:#020617;border-radius:18px;border:1px solid var(--color-border);padding:20px;box-shadow:0 18px 40px rgba(15,23,42,.7);}
.card h3{margin-top:0;margin-bottom:8px}
.card p{margin-top:0;color:#cbd5f5}
.card-highlight{border-color:var(--color-primary-soft);box-shadow:0 0 0 1px rgba(56,189,248,.5),0 18px 40px rgba(15,23,42,.9);}
.icon-card{text-align:left}
.icon-round{width:40px;height:40px;border-radius:999px;background:rgba(56,189,248,.1);color:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:1.1rem}

.section-kpis .kpi-grid,
.section-kpis .kpi-grid .kpi{}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;margin-top:16px}
.kpi{text-align:center;padding:16px;border-radius:16px;background:#020617;border:1px solid var(--color-border);}
.kpi-value{display:block;font-size:1.6rem;font-weight:700;color:var(--color-primary-soft);margin-bottom:4px}
.kpi-label{font-size:.8rem;color:var(--color-muted)}

.timeline{list-style:none;padding:0;margin:0;counter-reset:step}
.timeline li{position:relative;padding-left:36px;margin-bottom:16px}
.timeline li::before{counter-increment:step;content:counter(step);position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:999px;background:var(--color-primary-soft);color:#0b1120;font-size:.8rem;display:flex;align-items:center;justify-content:center;font-weight:700}

.section-faq details{background:#020617;border-radius:14px;border:1px solid var(--color-border);padding:10px 14px;margin-bottom:10px}
.section-faq summary{cursor:pointer;font-weight:500}

.section-team .team-card{text-align:center}
.avatar-round{width:120px;height:120px;border-radius:999px;object-fit:cover;margin-bottom:10px;border:3px solid var(--color-primary-soft)}

.section-testimonials .testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.testimonial{background:#020617;border-radius:16px;border:1px solid var(--color-border);padding:18px;font-style:italic}
.testimonial-author{display:block;margin-top:10px;font-size:.85rem;color:var(--color-primary-soft);font-style:normal}

.section-logos .logos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px;margin-top:12px}
.logo-item{border-radius:12px;border:1px dashed var(--color-border);padding:18px;text-align:center;font-size:.85rem;color:var(--color-muted)}

.section-cta{position:relative;color:#f9fafb;text-align:center}
.section-cta .cta-inner{position:relative;padding:60px 0}
.section-cta h2{margin-bottom:8px}
.section-cta p{max-width:600px;margin:0 auto 18px;color:#e5e7eb}

.section-process .process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:10px}
.step{background:#020617;border-radius:16px;border:1px solid var(--color-border);padding:16px}
.step-number{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(56,189,248,.1);color:var(--color-primary-soft);font-size:.8rem;margin-bottom:6px}

.section-steps .steps-list{padding-left:18px}
.section-steps li{margin-bottom:8px}

.section-cards .card-image img{width:100%;border-radius:16px;margin-bottom:8px}

.section-quote blockquote{font-size:1.3rem;text-align:center;margin:0}
.quote-author{text-align:center;margin-top:10px;font-size:.85rem;color:var(--color-muted)}

.section-newsletter,.section-simple-form{text-align:center}
.newsletter-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.newsletter-row input[type=email]{padding:10px 12px;border-radius:999px;border:1px solid var(--color-border);background:#020617;color:#e5e7eb;min-width:220px}

.section-gallery .gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.section-gallery img{width:100%;border-radius:12px;display:block}

.section-blog .blog-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:10px}
.blog-item{background:#020617;border-radius:16px;border:1px solid var(--color-border);padding:16px}

.section-map .map-placeholder{border-radius:16px;border:1px dashed var(--color-border);padding:30px;text-align:center;color:var(--color-muted)}

.section-parallax{position:relative;color:#f9fafb}
.section-parallax .wrap-800{position:relative;padding:60px 0;text-align:center}

/* CONTACT PAGE */
.contact-section{position:relative;min-height:100vh;background:url('https://images.unsplash.com/photo-1496307042754-b4aa456c4a2d?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;padding:80px 16px}
.contact-section::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.7),rgba(0,0,0,.4));}
.contact-section .wrap-1200{position:relative;z-index:1}
.contact-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);background:rgba(0,0,0,.75);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);backdrop-filter:blur(10px);}
.contact-form-col{padding:32px 32px 40px;border-right:1px solid rgba(255,255,255,.06);background:linear-gradient(to bottom,rgba(15,23,42,.9),rgba(15,23,42,.95));}
.contact-form-col h1{font-size:1.6rem;margin:0 0 20px;color:var(--color-primary-soft);text-align:center}
.contact-form-row{display:flex;align-items:center;margin-bottom:12px}
.contact-form-row{display:flex;align-items:center;margin-bottom:12px;}
.contact-form-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(148,163,184,.6);margin-right:6px;background:transparent;color:#e5e7eb;}
.contact-form-icon svg{display:block;}
.contact-form-field{flex:1;}
.contact-form-field input,.contact-form-field textarea{width:100%;border:none;outline:none;background:rgba(15,23,42,.9);color:#e5e7eb;padding:10px 12px;font-size:.9rem;border-radius:6px;border:1px solid rgba(148,163,184,.4);}
.contact-form-bottom{margin-top:12px;font-size:.75rem;color:#e5e7eb}
.contact-form-bottom label{display:flex;align-items:flex-start;gap:6px;margin-bottom:10px}
.contact-submit{margin-top:10px;text-align:center}
.contact-submit button{border:none;padding:12px 36px;border-radius:999px;background:var(--color-primary-soft);color:#020617;font-weight:700;font-size:.95rem;cursor:pointer}
.contact-submit button:hover{filter:brightness(1.08)}
.contact-info-col{padding:32px 32px 40px;background:rgba(255,255,255,.98);color:#111827;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.contact-avatar{width:180px;height:180px;border-radius:50%;overflow:hidden;border:6px solid var(--color-primary-soft);margin-bottom:16px}
.contact-avatar img{width:100%;height:100%;object-fit:cover}
.contact-company{font-weight:700;font-size:1.1rem;margin-bottom:4px;text-align:center}
.contact-address{text-align:center;font-size:.9rem;margin-bottom:12px}
.contact-phone{font-weight:700;margin-bottom:4px}
.contact-email a{text-decoration:none;color:#111827;font-weight:600}
.contact-links{margin-top:18px;font-size:.8rem;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.contact-links a{text-decoration:none;color:#111827}
.contact-rgpd-note{margin-top:16px;font-size:.75rem;line-height:1.4;text-align:left;color:#374151}

/* FOOTER */
.site-footer{margin-top:40px;font-size:.85rem;color:var(--color-muted);background:#020617;border-top:1px solid var(--color-border)}
.footer-top{padding:28px 0}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.footer-col h3{margin-top:0;margin-bottom:8px;font-size:.95rem;color:#e5e7eb}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:4px}
.footer-col a{color:var(--color-muted)}
.footer-bottom{border-top:1px solid var(--color-border);padding:10px 0;background:#020617}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.footer-links a{margin-left:10px;color:var(--color-muted)}

/* ANIMATIONS */
[data-anim]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
[data-anim].is-visible{opacity:1;transform:translateY(0)}

/* RESPONSIVE */
@media (max-width:900px){
  .contact-card{grid-template-columns:1fr}
  .contact-form-col{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .hero-split-inner{grid-template-columns:1fr}
}
@media (max-width:768px){
  .section-2cols .section-inner,
  .section-reverse{grid-template-columns:1fr}
  .hero{min-height:70vh}
  .hero h1{font-size:2.1rem}
  .hero-actions{flex-direction:column;align-items:flex-start}
}

/* Page banners */
.page-banner{
  padding:40px 16px;
  border-bottom:1px solid rgba(148,163,184,.2);
}
.page-banner h1{
  font-family:var(--font-heading);
  font-size:2rem;
  margin:0 0 6px;
}
.page-banner-sub{
  margin:0;
  color:#9ca3af;
}
.page-banner-image{
  color:#f9fafb;
}
.page-banner-small .page-banner-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.page-banner-tag span{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid rgba(96,165,250,.6);
  font-size:.8rem;
}
.page-banner-center{
  text-align:center;
}
.page-banner-center-inner{
  max-width:800px;
  margin:0 auto;
}
.breadcrumb{
  font-size:.85rem;
  margin-bottom:8px;
  color:#9ca3af;
}
.breadcrumb a{
  color:#93c5fd;
  text-decoration:none;
}
.breadcrumb a:hover{
  text-decoration:underline;
}


/* Module name label (page modules seulement) */
.module-preview{
  position:relative;
  margin-bottom:32px;
  /* plus de border pour ne pas casser la mise en page des modules */
}

.module-label{
  position:absolute;
  top:8px;
  left:8px;
  z-index:30;
  background:rgba(15,23,42,0.85);
  padding:2px 8px;
  border-radius:999px;
  font-size:0.7rem;
  color:#bfdbfe;
  border:1px solid rgba(59,130,246,0.6);
  pointer-events:auto;
  opacity:0.35;
  transition:opacity 0.15s ease;
}

/* Plus lisible au survol du bloc, mais reste discret */
.module-preview:hover .module-label{
  opacity:1;
}

/* UTILITAIRES TYPO ET LAYOUT */
.text-left{text-align:left;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.section--dark{background:#020617;color:#e5e7eb;}
.section--light{background:#f9fafb;color:#111827;}
.section .col-text{padding-left:16px;padding-right:16px;}
@media (max-width:768px){.section .col-text{padding-left:8px;padding-right:8px;}}
.media-top{align-self:flex-start;}
.media-middle{align-self:center;}
.media-bottom{align-self:flex-end;}
.media-offset-up{margin-top:-40px;}
.media-offset-down{margin-bottom:-40px;}
.media-overlap{margin-top:-40px;box-shadow:0 24px 60px rgba(15,23,42,.8);}
.media-stack{position:relative;max-width:520px;margin:0 auto;}
.media-stack .img-rounded{position:relative;z-index:1;}
.media-stack .media-overlap{position:absolute;right:-40px;bottom:-40px;width:55%;z-index:2;}
@media (max-width:768px){.media-stack .media-overlap{position:absolute;right:-10px;bottom:-20px;width:60%;}}



.section-feature{padding-top:72px;padding-bottom:72px;}
.section-feature .section-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:var(--color-primary-soft);margin-bottom:8px;}
.section-feature h2{font-size:2rem;margin:0 0 12px;}
.section-feature .section-body{align-items:center;}
.section-feature .col-text p{margin-bottom:10px;line-height:1.7;font-size:.97rem;}
.section-feature .hero-actions{margin-top:18px;}
.feature-media{position:relative;max-width:520px;margin:0 auto;}
.feature-media-main img,.feature-media-secondary img,.feature-media-third img{display:block;width:100%;height:auto;border-radius:20px;object-fit:cover;box-shadow:var(--shadow-soft);}
.feature-media-1img .feature-media-main img{position:relative;z-index:1;}
.feature-media-2img .feature-media-secondary{position:absolute;right:-40px;bottom:-40px;width:55%;z-index:2;}
.feature-media-3img .feature-media-secondary{position:absolute;right:-40px;bottom:-40px;width:55%;z-index:2;}
.feature-media-3img .feature-media-third{position:absolute;left:-30px;top:-30px;width:45%;z-index:1;}
.feature-media-video{position:relative;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft);}
.feature-media-video-inner{position:relative;width:100%;height:100%;min-height:260px;}
.feature-media-video-inner iframe,.feature-media-video-inner video{width:100%;height:100%;display:block;}
.feature-slider{position:relative;overflow:hidden;border-radius:20px;box-shadow:var(--shadow-soft);min-height:260px;}
.feature-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.feature-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.feature-slide.is-active{opacity:1;}
.feature-slider-dots{display:flex;justify-content:center;gap:6px;margin-top:10px;}
.feature-slider-dots button{width:8px;height:8px;border-radius:999px;border:1px solid rgba(148,163,184,.9);background:transparent;cursor:pointer;}
.feature-slider-dots button.is-active{background:rgba(148,163,184,1);}
@media (max-width:900px){.feature-media-2img .feature-media-secondary{right:-10px;bottom:-20px;width:60%;}.feature-media-3img .feature-media-secondary{right:-10px;bottom:-20px;width:60%;}.feature-media-3img .feature-media-third{left:-6px;top:-12px;width:48%;}}


#menu_appli{display:none;background:transparent;height:50px;position:fixed;z-index:9999;bottom:0;left:0;width:100%;cursor:pointer;font-size:1.2em;font-weight:bold;}
#menu_appli a{color:#fff;text-decoration:none;}
#menu_appli_left{background:var(--color-primary);float:left;width:50%;height:50px;display:flex;align-items:center;}
#menu_appli_right{background:#020617;float:left;width:50%;height:50px;display:flex;align-items:center;text-transform:uppercase;text-align:center;color:#fff;}
#menu_appli_right a{color:#fff;margin:auto;display:block;width:100%;height:50px;line-height:50px;font-size:1rem;}
.menu_item{float:left;width:33.33%;color:#fff;font-size:.8em;text-align:center;font-weight:400;text-transform:uppercase;}
.menu_icon{display:flex;align-items:center;justify-content:center;height:22px;font-size:1rem;margin-bottom:2px;}
.menu_titre{margin-top:0;font-size:.85rem;}
#menu_appli_contenu{display:none;width:100%;height:auto;background:#fff;z-index:9998;position:fixed;bottom:50px;left:0;padding:20px 0 60px 0;border-top:2px solid var(--color-primary);}
#menu_appli_contenu ul{margin:0;padding:0;list-style:none;}
#menu_appli_contenu li.niv1,#menu_appli_contenu li.niv2{text-align:left;text-transform:uppercase;border-bottom:1px solid #e5e5e5;line-height:20px;min-height:40px;font-size:1.1em;margin:0 20px 0 30px;display:flex;align-items:center;padding:5px 0;}
#menu_appli_contenu li a{font-size:.9em;font-weight:700;color:#070707;display:block;font-family:Roboto,Arial,Tahoma,sans-serif;margin:auto 0;text-decoration:none;}
#menu_appli_fermer{position:absolute;bottom:10px;left:0;width:100%;text-align:center;}
#menu_appli_fermer span{height:40px;width:40px;line-height:40px;padding:5px 13px;background:var(--color-primary);color:#fff;font-weight:400;font-size:1.4em;cursor:pointer;margin:0 auto;text-align:center;border-radius:100%;}
@media (max-width:900px){.site-header{display:none;}#menu_appli{display:block;}}
#menu_appli svg{stroke:#ffffff;}
#menu_appli_contenu svg{stroke:#070707;}


.section-features-grid{padding-top:72px;padding-bottom:72px;}
.section-features-grid .section-header p{max-width:640px;}
.features-grid{display:grid;gap:20px;margin-top:24px;}
.features-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.features-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.features-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.feature-item{background:#020617;border-radius:18px;border:1px solid var(--color-border);padding:18px;box-shadow:0 18px 40px rgba(15,23,42,.7);}
.section--light .feature-item{background:#ffffff;border-color:rgba(148,163,184,.4);box-shadow:0 12px 30px rgba(15,23,42,.15);}
.feature-item-visual{margin-bottom:10px;display:flex;align-items:center;justify-content:flex-start;}
.feature-item-icon span{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:rgba(56,189,248,.12);color:var(--color-primary-soft);}
.feature-item-image img{display:block;width:56px;height:56px;border-radius:16px;object-fit:cover;}
.feature-item h3{margin:0 0 6px;font-size:1.05rem;}
.feature-item p{margin:0;font-size:.9rem;color:var(--color-muted);}
@media (max-width:900px){.features-grid{grid-template-columns:1fr;}}


.modules-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.modules-grid-item{border-radius:16px;border:1px solid var(--color-border);background:#020617;padding:10px;overflow:hidden;}
.modules-grid-item .module-preview{margin-bottom:0;}
.modules-grid-item .module-preview-inner{transform:scale(.9);transform-origin:top center;}
@media (max-width:1200px){.modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:900px){.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.modules-grid{grid-template-columns:1fr;}}
