/* ==== Fonts Inter Local ==== */
@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:400;src:url('../fonts/inter-v20-latin-regular.woff2') format('woff2')}
@font-face{font-display:swap;font-family:'Inter';font-style:normal;font-weight:600;src:url('../fonts/inter-v20-latin-600.woff2') format('woff2')}

/* ==== Base & Layout =================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:#FAFAFA;color:#0F172A;overflow-x:hidden
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ==== HERO ============================================================ */
.hero{
  min-height:100vh;display:flex;align-items:center;position:relative;
  background:linear-gradient(135deg,#FAFAFA 0%,#F1F5F9 100%);
  overflow:hidden;padding-top:80px
}

/* Floating boxes */
.floating-system{position:absolute;inset:0;pointer-events:none}
.floating-box{
  position:absolute;background:#FFF;border-radius:20px;border:1px solid rgba(0,0,0,.08);
  box-shadow:0 20px 40px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.9);
  padding:2rem;animation:floatGentle 8s ease-in-out infinite;backdrop-filter:blur(10px)
}
.box-1{top:15%;right:8%;width:280px;height:200px;animation-delay:0s}
.box-2{bottom:20%;left:5%;width:320px;height:180px;animation-delay:-3s}
.box-3{top:60%;right:15%;width:200px;height:160px;animation-delay:-6s}
.box-4{top:8%;left:12%;width:240px;height:140px;animation-delay:-1.5s}

@keyframes floatGentle{
  0%,100%{transform:translateY(0) translateX(0) rotate(0deg);opacity:.9}
  25%{transform:translateY(-15px) translateX(10px) rotate(1deg);opacity:1}
  50%{transform:translateY(-8px) translateX(-5px) rotate(-.5deg);opacity:.95}
  75%{transform:translateY(-20px) translateX(8px) rotate(.8deg);opacity:.9}
}
/* 1) Donne un layout au groupe pour stabiliser l’empilement */
.box-4 .process-steps{
  display:flex;
  flex-direction:column;
  gap:8px;                 /* espace constant entre les steps */
  align-items:flex-start;  /* les barres partent bien à droite du point */
}

/* 2) Stabilise la pastille pendant le scale (pas d'effet "qui glisse") */
.box-4 .process-step{
  transform-origin:left center;   /* la barre reste calée */
}

/* 3) Option visuelle: un scale un poil plus doux évite les débords */
@keyframes processPulse{
  0%,100%{ transform:scale(1) }
  50%{    transform:scale(1.06) } /* au lieu de 1.2 trop violent */
}

/* 4) Évite l’effet “ça dépasse du cadre” (sans toucher aux autres box) */
.box-4 .box-visual{ overflow:hidden; }

/* 5) Si ça reste trop tassé, donne un peu d’air à cette carte uniquement */
.box-4{ height:170px; } /* ou, alternative : */
/* .box-4 .box-content{ justify-content:flex-start; } */

/* Offset visuels dans la box "Pipeline" uniquement */
.box-4 .process-steps{
  transform: translateX(-60px);   /* ← décale à gauche (mets -6/-12px selon goût) */
}

/* Si tu veux aussi décaler la ligne animée de "Flux de données" (box-2) */
.box-2 .data-flow{
  transform: translateX(-60px);
}

/* Box content + micro anims */
.box-content{display:flex;flex-direction:column;height:100%;justify-content:space-between}
.box-title{font-size:1.1rem;font-weight:600;color:#1E293B;margin-bottom:.5rem}
.box-subtitle{font-size:.9rem;color:#64748B;line-height:1.5;margin-bottom:1rem}
.box-visual{flex:1;display:flex;align-items:center;justify-content:center;position:relative}

.automation-icon{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,#8B5CF6,#06B6D4);
  display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;
  box-shadow:0 10px 25px rgba(139,92,246,.3)
}
.data-flow{position:relative;width:100%;height:60px;overflow:hidden}
.flow-line{
  position:absolute;top:50%;left:0;width:100%;height:2px;
  background:linear-gradient(90deg,transparent,#06B6D4,#8B5CF6,transparent);
  animation:dataFlow 3s ease-in-out infinite
}
@keyframes dataFlow{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}
.stat-item{text-align:center;padding:.5rem;background:linear-gradient(135deg,#F1F5F9,#E2E8F0);border-radius:12px}
.stat-number{font-size:1.5rem;font-weight:700;color:#06B6D4}
.stat-label{font-size:.7rem;color:#64748B;text-transform:uppercase;letter-spacing:.5px}

.process-steps .process-step{
  width:12px;height:12px;border-radius:50%;background:#06B6D4;position:relative;
  animation:processPulse 2s ease-in-out infinite
}
.process-steps .process-step:not(:last-child)::after{
  content:'';position:absolute;top:50%;left:12px;width:40px;height:2px;
  background:linear-gradient(90deg,#06B6D4,#8B5CF6);transform:translateY(-50%)
}
@keyframes processPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}

.connection-line{
  position:absolute;height:1px;background:linear-gradient(90deg,rgba(6,182,212,.3),rgba(139,92,246,.5),rgba(6,182,212,.3));
  animation:connectionPulse 4s ease-in-out infinite
}
@keyframes connectionPulse{0%,100%{opacity:.3}50%{opacity:.8}}

/* Hero text */
.hero-content{z-index:10;position:relative;max-width:700px;padding:0 2rem;animation:slideInLeft 1.2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}

.hero-title{
  font-size:clamp(3.2rem,8vw,7rem);font-weight:800;letter-spacing:-.04em;line-height:.95;
  margin-bottom:2rem;color:#0F172A
}
.title-highlight{
  background:linear-gradient(135deg,#8B5CF6,#06B6D4);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-decoration:underline;text-decoration-color:rgba(6,182,212,.3);
  text-underline-offset:8px;text-decoration-thickness:4px
}

.morph-container{margin:.5rem 0 1rem;position:relative;min-height:120px;display:flex;align-items:center;justify-content:flex-start}
.morph-text{font-size:clamp(2.2rem,5vw,4rem);font-weight:600;color:#475569;letter-spacing:-.02em;line-height:1.2}

.hero-subtitle{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:400;color:#64748B;margin-bottom:3rem;line-height:1.6;max-width:600px}
.hero-cta{display:flex;gap:1.5rem;flex-wrap:wrap}

/* Buttons */
.btn{padding:16px 32px;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .25s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px}
.btn-primary{background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;border:none;box-shadow:0 10px 25px rgba(6,182,212,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(6,182,212,.3)}
.btn-outline{background:transparent;color:#475569;border:2px solid #E2E8F0}
.btn-outline:hover{border-color:#06B6D4;color:#06B6D4;transform:translateY(-2px)}

/* ==== Sections generic =============================================== */
section{padding:100px 0;position:relative}
.section-title{text-align:center;font-size:3rem;font-weight:700;margin-bottom:3rem;color:#1E293B}
.section-subtitle{max-width:800px;margin:0 auto 4rem;text-align:center;font-size:1.2rem;color:#64748B;line-height:1.6}
.gradient-text{background:linear-gradient(135deg,#8B5CF6,#06B6D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ==== Social Proof ==================================================== */
.social-proof{
  background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(241,245,249,.6));
  backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);
  padding:60px 0
}
.logos-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;align-items:center;opacity:.7}
.logo-item{display:flex;justify-content:center;align-items:center;height:80px;padding:1rem;transition:opacity .3s ease}
.logo-item:hover{opacity:1}
.logo-item img{max-height:50px;max-width:180px;object-fit:contain}

/* Agrandir Optic2000 (6757) & Interflora (6756) */
.social-proof .wp-image-6757,
.social-proof .wp-image-6756{
  height:72px !important;width:auto !important;max-height:none !important;max-width:none !important
}
/* Fallback si pas de classes wp-image-XXXX */
.social-proof .logos-container .logo-item:nth-child(1) img,
.social-proof .logos-container .logo-item:nth-child(2) img{
  height:100px !important;width:auto !important;max-height:none !important;max-width:none !important
}
/* Un peu plus d’air si logos plus hauts */
.social-proof .logo-item{height:90px}

/* ==== Services ======================================================== */
.services{background:#FFF}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}
.service-card{
  background:#FFF;border-radius:20px;border:1px solid rgba(0,0,0,.08);padding:2rem;
  transition:all .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.service-card:hover{transform:translateY(-10px);border-color:rgba(6,182,212,.2);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.service-icon{width:60px;height:60px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.5rem}
.service-icon img{width:32px;height:32px;object-fit:contain}
.service-title{font-size:1.5rem;font-weight:600;color:#1E293B;margin-bottom:1rem}
.service-description{color:#64748B;line-height:1.6}
.services-cta{text-align:center}

/* ==== Process ========================================================= */
.process{background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05))}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem}
.process-step-card{text-align:center;position:relative}
.step-number{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,#8B5CF6,#06B6D4);
  display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1.5rem;color:#fff;
  box-shadow:0 10px 30px rgba(139,92,246,.3)
}
.step-title{font-size:1.5rem;font-weight:600;color:#1E293B;margin-bottom:1rem}
.step-description{color:#64748B;line-height:1.6}

/* ==== About =========================================================== */
.about{background:#FFF}
.about-content{display:grid;grid-template-columns:1fr 2fr;gap:2rem;align-items:center}
.about-text{font-size:1.2rem;line-height:1.6;color:#64748B}
.about-text h3{color:#1E293B;margin-bottom:1rem;font-size:1.5rem}
.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}
.benefit-item{display:flex;align-items:flex-start;gap:1rem}
.benefit-icon{width:50px;height:50px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.benefit-content h4{color:#1E293B;font-weight:600;margin-bottom:.5rem}
.benefit-content p{color:#64748B;font-size:.95rem}

/* ==== Team ============================================================ */
.team{background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05))}
.team-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;max-width:800px;margin:0 auto}
.team-member{
  background:#FFF;border-radius:25px;border:1px solid rgba(0,0,0,.08);padding:2.5rem 2rem;text-align:center;
  transition:all .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative
}
.team-member:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.team-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;border:4px solid;border-image:linear-gradient(135deg,#8B5CF6,#06B6D4) 1}
.team-name{font-size:1.4rem;font-weight:700;color:#1E293B;margin-bottom:.5rem}
.team-role{font-size:1rem;font-weight:500;color:#06B6D4;margin-bottom:1rem}
.team-description{font-size:.95rem;color:#64748B;line-height:1.6;margin-bottom:1.5rem}
.team-linkedin{
  display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;
  padding:10px 20px;border-radius:25px;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s ease;box-shadow:0 5px 15px rgba(6,182,212,.2)
}
.team-linkedin:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(6,182,212,.3)}
.team-intro{text-align:center;max-width:600px;margin:0 auto 3rem;font-size:1.1rem;color:#64748B;line-height:1.6}

/* ==== Targets ========================================================= */
.targets{background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05))}
.targets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
.target-card{
  background:#FFF;border-radius:20px;border:1px solid rgba(0,0,0,.08);padding:2rem;text-align:center;
  transition:all .3s ease;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.target-card:hover{transform:translateY(-10px);border-color:rgba(6,182,212,.2);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.target-icon{font-size:3rem;margin-bottom:1rem}
.target-title{font-size:1.3rem;font-weight:600;color:#1E293B;margin-bottom:.5rem}
.target-description{font-size:.95rem;color:#64748B;line-height:1.4}

/* ==== Blog ============================================================ */
.blog{background:#FFF}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}
.blog-card{
  background:#FFF;border-radius:20px;border:1px solid rgba(0,0,0,.08);overflow:hidden;
  transition:all .3s ease;box-shadow:0 10px 30px rgba(0,0,0,.08)
}
.blog-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.blog-image{height:200px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);position:relative}
.blog-content{padding:2rem}
.blog-title{font-size:1.3rem;font-weight:600;color:#1E293B;margin-bottom:1rem}
.blog-excerpt{color:#64748B;font-size:.95rem;line-height:1.6;margin-bottom:1rem}
.blog-meta{color:#94A3B8;font-size:.85rem}

/* ==== CTA ============================================================= */
.cta-section{background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(6,182,212,.1));text-align:center}

/* ==== Animations opt-in (progressive enhancement) ===================== */
/* visible par défaut */
.fade-in{opacity:1;transform:none}
/* si JS ajoute .enhance sur <html>, on anime */
.enhance .fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.enhance .fade-in.visible{opacity:1;transform:none}

/* ==== Utilities ======================================================= */
.service-link{color:#06B6D4;text-decoration:none;font-weight:500;transition:color .3s}
.service-link:hover{color:#0891B2;text-decoration:underline}
.calendly-fallback{margin-top:1rem;text-align:center;color:#64748B}
.calendly-fallback a{color:#06B6D4;text-decoration:underline}
.calendly-fallback a:hover{color:#0891B2}

/* Plein écran GLOBAL (partout) – à utiliser si tu es sûr de ne plus vouloir de layout en colonne */
.grid-container,
.site.grid-container,
.site-content .grid-container{ max-width:none; padding-left:0; padding-right:0; }

.site-content,
.content-area,
#primary,
.inside-article,
.entry-content{ width:100%; max-width:none; margin:0; padding:0; }

.sidebar, #secondary, .widget-area, .is-right-sidebar, .is-left-sidebar,
.page-header, .entry-header, .post-thumbnail { display:none!important; }
/* NOTE : on NE cache plus .featured-image ici */

/* Featured image visible UNIQUEMENT dans les articles */
.single-post .featured-image,
.single-post .featured-image-section { display:block !important; opacity:1 !important; }

/* Et cachée partout ailleurs */
body:not(.single-post) .featured-image,
body:not(.single-post) .featured-image-section { display:none !important; }


/* skip-link global (accessibilité ↓) */
.skip-link, .screen-reader-text.skip-link{
  position:absolute !important; left:-9999px !important;
  width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
}

.entry-content > *{ max-width:none; }

/* Cacher header & footer GeneratePress sur TOUTES les pages */
.site-header,
.main-navigation,
.site-branding,
#masthead,
.inside-header,
.site-footer,
#colophon,
.inside-footer,
.site-info { 
  display: none !important;
}

/* Force texte blanc sur TOUS les boutons */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.team-linkedin,
.team-linkedin:hover,
.team-linkedin:focus,
.a2z-auto-item__cta,
.a2z-auto-item__cta:hover,
.a2z-auto-final__btn,
.a2z-auto-final__btn:hover,
.a2z-linkedin-btn,
.a2z-linkedin-btn:hover{
  color:#fff!important
}

/* ==== Responsive ====================================================== */
@media (max-width:1024px){
  .floating-box{display:none}
  .hero-content{text-align:center;max-width:800px}
}

@media (max-width:768px){
  .hero .container{display:flex;justify-content:center;align-items:center;width:100%;margin:0;padding:0 1rem}
  .hero-cta{flex-direction:column;align-items:center;width:100%}
  .hero-content{text-align:center;width:100%;max-width:none;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .hero-title,.morph-container,.hero-subtitle{text-align:center}
  .btn{justify-content:center;width:100%;max-width:280px}
  .services-grid,.process-grid,.targets-grid,.blog-grid{grid-template-columns:1fr}
  .about-content{grid-template-columns:1fr;text-align:center}
  section{padding:60px 0}
  .section-title{font-size:2.2rem}
}

@media (max-width:480px){
  .hero .container{padding-left:0;padding-right:0;margin-left:auto;margin-right:auto;max-width:100vw}
  .hero-content{padding:0 .5rem}
}

/* ========== Automatisations ========== */
.a2z-automatisations .container{max-width:1200px;margin:0 auto;padding:0 20px}

.a2z-auto-hero{padding:120px 0 80px;background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));text-align:center}
.a2z-auto-hero__title{font-size:clamp(3rem,6vw,4.5rem);font-weight:800;line-height:1.1;color:#0F172A;margin:0 0 1.2rem}
.a2z-auto-hero__subtitle{font-size:clamp(1.2rem,3vw,1.5rem);color:#64748B;max-width:800px;margin:0 auto 1.2rem;line-height:1.6}
.a2z-auto-hero__desc{font-size:1.1rem;color:#475569;max-width:700px;margin:0 auto;line-height:1.7}

.a2z-auto-cats{padding:80px 0}
.a2z-auto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;align-items:start}
@media (max-width:1024px){.a2z-auto-grid{grid-template-columns:1fr;gap:2rem}}

.a2z-auto-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.08);overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.a2z-auto-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.a2z-auto-card__head{padding:2rem 2rem 1rem;background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));text-align:center}
.a2z-auto-card__icon{width:60px;height:60px;border-radius:16px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2rem;color:#fff}
.a2z-auto-card__title{font-size:1.8rem;font-weight:700;color:#1E293B;margin:0 0 .5rem}
.a2z-auto-card__subtitle{font-size:1rem;color:#64748B;margin:0 0 1.5rem}

.a2z-auto-card__list{padding:1rem 2rem 2rem}
.a2z-auto-item{background:rgba(250,250,250,.8);border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:1.5rem;margin-bottom:1rem;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.a2z-auto-item:last-child{margin-bottom:0}
.a2z-auto-item:hover{background:#fff;border-color:rgba(6,182,212,.2);transform:translateY(-2px);box-shadow:0 5px 15px rgba(6,182,212,.1)}
.a2z-auto-item__title{font-size:1.2rem;font-weight:600;color:#1E293B;margin:0 0 .6rem}
.a2z-auto-item__desc{font-size:.95rem;color:#64748B;line-height:1.5;margin:0 0 1rem}
.a2z-auto-item__cta{display:inline-block;background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;padding:8px 16px;border-radius:8px;text-decoration:none;font-weight:500;font-size:.9rem;box-shadow:0 4px 12px rgba(6,182,212,.2);transition:transform .15s ease, box-shadow .15s ease}
.a2z-auto-item__cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(6,182,212,.3)}

.a2z-auto-final{background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));padding:60px 0;text-align:center}
.a2z-auto-final__title{font-size:2.5rem;font-weight:700;color:#1E293B;margin:0 0 1rem}
.a2z-auto-final__desc{font-size:1.2rem;color:#64748B;max-width:600px;margin:0 auto 2rem;line-height:1.6}
.a2z-auto-final__btn{display:inline-block;background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;padding:16px 32px;border-radius:12px;text-decoration:none;font-weight:600;font-size:1.1rem;box-shadow:0 10px 25px rgba(6,182,212,.25);transition:transform .2s ease, box-shadow .2s ease}
.a2z-auto-final__btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(6,182,212,.3)}

/* ====== ABOUT / PRESENTATION ====== */
.a2z-about-hero{padding:120px 2rem 100px;background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));text-align:center;position:relative;overflow:hidden}
.a2z-about-hero::before{content:"";position:absolute;inset:-50% -50% -50% -50%;background:radial-gradient(circle,rgba(139,92,246,.10) 0%,transparent 70%);animation:a2z-rot 20s linear infinite}
@keyframes a2z-rot{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.a2z-about-hero__inner{max-width:900px;margin:0 auto;position:relative;z-index:1}
.a2z-about-hero__title{font-size:clamp(3rem,6vw,5rem);font-weight:800;background:linear-gradient(135deg,#8B5CF6,#06B6D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1.2rem}
.a2z-about-hero__subtitle{font-size:1.25rem;color:#475569}

.a2z-about-section{padding:80px 2rem;max-width:1400px;margin:0 auto}
.a2z-section-title{text-align:center;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;color:#0F172A;margin:0 0 2rem}
.a2z-section-subtitle{text-align:center;font-size:1.2rem;font-weight:600;color:#8B5CF6;margin-bottom:1rem}
.a2z-section-text{font-size:1.05rem;color:#475569;line-height:1.7;max-width:800px;margin:0 auto 1.6rem;text-align:center}
.a2z-section-text--wide{max-width:900px}

.a2z-card{border-radius:30px;padding:70px 60px;margin:20px auto;box-shadow:0 10px 40px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.05);text-align:center;background:#fff}
.a2z-card--gradient{background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(6,182,212,.08));box-shadow:none;border:none}

.a2z-founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;justify-items:center;margin:3rem 0}
.a2z-founder{max-width:350px;width:100%;text-align:center;background:linear-gradient(135deg,rgba(139,92,246,.05),rgba(6,182,212,.05));border-radius:20px;padding:2.2rem 1.8rem;transition:transform .25s ease,box-shadow .25s ease}
.a2z-founder:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.a2z-founder__photo{width:120px;height:120px;border-radius:50%;margin:0 auto 1.2rem;padding:4px;background:linear-gradient(135deg,#8B5CF6,#06B6D4)}
.a2z-founder__photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff}
.a2z-founder__name{font-size:1.5rem;font-weight:700;color:#0F172A;margin:.3rem 0}
.a2z-founder__role{color:#8B5CF6;font-weight:600;margin-bottom:.4rem}
.a2z-founder__xp{color:#64748B;font-size:.95rem}

.a2z-mission{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;justify-items:center;margin-top:2.2rem}
.a2z-mission__card{background:#fff;border:1px solid rgba(0,0,0,.05);box-shadow:0 10px 30px rgba(0,0,0,.08);border-radius:20px;padding:2.6rem 1.8rem;max-width:380px;width:100%;text-align:center;transition:transform .25s ease,box-shadow .25s ease}
.a2z-mission__card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.12)}
.a2z-mission__icon{width:60px;height:60px;border-radius:15px;background:linear-gradient(135deg,#8B5CF6,#06B6D4);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem;font-size:1.5rem;color:#fff}
.a2z-mission__card h3{font-size:1.4rem;font-weight:700;color:#0F172A;margin:.6rem 0}
.a2z-mission__card p{color:#64748B;line-height:1.6}

.a2z-cta-dark{background:linear-gradient(135deg,#0F172A,#1E293B);color:#fff;border-radius:30px;padding:70px 60px;margin:20px;position:relative;overflow:hidden;text-align:center}
.a2z-cta-dark::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(6,182,212,.1))}
.a2z-cta-dark__inner{position:relative;z-index:1}
.a2z-cta-dark h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#8B5CF6,#06B6D4);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.a2z-cta-dark p{font-size:1.15rem;opacity:.9;margin:0 0 1.4rem}
.a2z-linkedin-btn{display:inline-flex;align-items:center;gap:.75rem;background:#0077B5;color:#fff;padding:1rem 1.6rem;border-radius:12px;text-decoration:none;font-weight:600;transition:transform .2s ease, box-shadow .2s ease;box-shadow:0 10px 25px rgba(0,119,181,.25)}
.a2z-linkedin-btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(0,119,181,.35)}

/* Responsive */
@media (max-width:1024px){
  .a2z-card{padding:60px 40px}
  .a2z-cta-dark{padding:60px 40px}
}
@media (max-width:768px){
  .a2z-about-hero{padding:70px 1rem}
  .a2z-about-section{padding:50px 1rem}
  .a2z-card,.a2z-cta-dark{padding:50px 24px;border-radius:20px}
}

/* Fix padding GeneratePress - Spécificité maximale */
html body.page-template,
html body.page-template-default,
html body.single,
html body.page,
html body.blog,
html body.archive,
html body{
  padding-top:0!important;
  margin-top:0!important;
}

html #page,
html .site,
html #content,
html .site-content{
  padding-top:0!important;
  margin-top:0!important;
}

/* === FIX Landing pages réseaux sociaux (scopé .a2z-sm) === */

/* Kill-switch titres "Notre méthode" */
.a2z-sm #solution .solution-process,
.a2z-sm #solution .process-step,
.a2z-sm #solution .process-title,
.a2z-sm #solution .process-desc,
.a2z-sm #solution .process-time{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  transform:none!important;
  rotate:0deg!important;
  white-space:normal!important;
  letter-spacing:normal!important;
}
.a2z-sm #solution .solution-process{align-items:start;gap:2rem}
.a2z-sm #solution .process-step{display:flex;flex-direction:column;align-items:center}

/* === FAQ Global (design unifié) === */
.faq{background:#FFF;padding:5rem 2rem}
.faq .container{max-width:800px;margin:0 auto}
.faq .section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;text-align:center;margin-bottom:1rem}
.faq .gradient-text{
  background:linear-gradient(135deg,#8B5CF6,#06B6D4);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.faq .faq-container{border-top:1px solid #E2E8F0}
.faq .faq-item{border-bottom:1px solid #E2E8F0}

.faq .faq-question{
  display:flex;justify-content:space-between;align-items:center;
  padding:1.25rem 0;font-weight:700;cursor:pointer;background:none;border:none;
  width:100%;text-align:left;transition:all .3s ease
}
.faq .faq-question span:last-child{
  font-size:1.5rem;color:#8B5CF6;transition:transform .3s,color .3s;min-width:24px
}

.faq .faq-answer{
  color:#475569;line-height:1.6;
  will-change:height;
  overflow-anchor:none;
}

.faq .faq-item.active .faq-question{
  background:linear-gradient(135deg,#8B5CF6,#06B6D4);color:#fff;
  border-radius:12px;padding:1.25rem
}
.faq .faq-item.active .faq-question span:last-child{
  transform:rotate(45deg);color:#fff
}

.faq .faq-question:focus-visible{
  outline:3px solid #8B5CF6;
  outline-offset:3px;
  border-radius:12px;
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .flow-line,.connection-line{animation:none!important}
}

/* ====== A2Z — Largeur lecture articles MAXIMALE ====== */
.a2z-article .container{
  max-width: 1600px; /* conteneur très large */
}
.a2z-article .content-grid{
  grid-template-columns: 1fr 250px; /* sidebar minimale */
  gap: 2.5rem; /* gap serré */
}
.a2z-article .article-content{
  padding: 2.5rem 3rem; /* padding optimal pour la lecture */
  max-width: none; /* supprime toute limite */
}

/* Sur écrans géants */
@media (min-width: 1800px){
  .a2z-article .container{ max-width: 1800px; }
  .a2z-article .content-grid{ grid-template-columns: 1fr 280px; }
  .a2z-article .article-content{ padding: 3rem 4rem; }
}

/* === A2Z Article – Fix mobile centering === */
@media (max-width: 768px){
  /* marge symétrique du conteneur */
  .a2z-article .container{
    padding-left: 16px;
    padding-right: 16px;
  }

  /* une seule colonne, pas de décalage résiduel */
  .a2z-article .content-grid{
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  /* centre VRAIMENT les blocs (si un width est posé ailleurs) */
  .a2z-article .article-content,
  .a2z-article .featured-image-section,
  .a2z-article .table-of-contents,
  .a2z-article .sidebar-widget{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    transform: none;           /* si une anim aurait déplacé l’élément */
  }

  /* padding plus compact et parfaitement symétrique */
  .a2z-article .article-content{
    padding: 1.5rem 1.25rem;
    border-radius: 16px;
  }
}

/* Option : si tu veux le texte encore plus “plein écran” sur très petit mobile */
@media (max-width: 420px){
  .a2z-article .container{ padding-left: 12px; padding-right: 12px; }
  .a2z-article .article-content{ padding-left: 1rem; padding-right: 1rem; }
}

/* A2Z Article – Share buttons always white */
.a2z-article .social-share .share-button,
.a2z-article .social-share .share-button:hover,
.a2z-article .social-share .share-button:focus,
.a2z-article .social-share .share-button:active,
.a2z-article .social-share .share-button:visited{
  color: #fff !important;
  border-bottom-color: transparent !important; /* évite la bordure violette au survol */
}

