:root{--paper:#f2f5fa;--ink:#081627;--orange:#0754f7;--line:#d5deeb}html,body{overflow-x:hidden}header{background:#fff}.topline{background:#06152c}.brand-logo{background:#fff}.navlinks{font-size:13px}.hero-v2{color:white;background:radial-gradient(ellipse at 85% 20%,#143e7e 0,transparent 46%),#06152c;overflow:hidden;position:relative}.hero-v2:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#4971ab0d 1px,transparent 1px),linear-gradient(90deg,#4971ab0d 1px,transparent 1px);background-size:55px 55px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:65px;min-height:690px;padding-top:60px;padding-bottom:65px;position:relative}.hero-copy h1{font-size:clamp(48px,5.3vw,76px);line-height:1.08;letter-spacing:-.06em}.hero-copy h1 em{font-style:normal;color:#7eb0ff}.hero-v2 .eyebrow{color:#adcaff}.hero-intro{font-size:20px;line-height:1.6;max-width:540px}.hero-detail{color:#b9c9e1;max-width:500px;font-size:15px}.hero-v2 .btn.outline{border-color:#7793b6;color:white}.hero-v2 .btn.outline:hover{background:#203c60}.hero-v2 .btn.orange{background:#0754f7;border-color:#3778ff}.hero-points{display:flex;flex-wrap:wrap;gap:18px;font-size:11px;color:#b5c9e5;margin-top:25px}.hero-points span:before{content:'✓ ';color:#8bb8ff}.hero-scene{position:relative;min-height:510px;transform-style:preserve-3d;transition:transform .25s ease;perspective:1000px}.hero-photo{position:absolute;inset:42px 0 90px 20px;margin:0;border:6px solid #d8e7ff1c;border-radius:22px;transform:rotate(4deg);overflow:hidden;box-shadow:0 35px 65px #0007;background:#0c2240}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(transparent,#041226ed);font-size:9px;color:white}.hero-photo a{text-decoration:underline}.scene-label{position:absolute;top:10px;left:0;color:#c3d8f9;font-size:10px;letter-spacing:2px}.scene-card{position:absolute;bottom:0;left:-20px;background:#fff;color:var(--ink);padding:25px 30px;border-radius:13px;transform:rotate(-4deg) translateZ(45px);box-shadow:0 20px 40px #0005;min-width:240px}.scene-card>span{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#526783}.scene-card strong{display:block;font:700 26px/1.2 Manrope,sans-serif;letter-spacing:-1px;margin:13px 0}.scene-card a{font-size:12px;font-weight:700;color:#164bd6}.scene-cube{position:absolute;bottom:15px;right:3px;display:grid;place-items:center;width:105px;height:105px;background:linear-gradient(135deg,#6199ff,#074de4);border:1px solid #9dc4ff;border-radius:22px;font:800 30px Manrope,sans-serif;transform:rotateY(-28deg) rotateX(18deg) rotateZ(12deg);box-shadow:12px 14px 0 #03369f,25px 25px 40px #0007}.orbit{position:absolute;width:460px;height:460px;border:1px solid #5379b144;border-radius:50%;top:-5px;left:10px;transform:rotateX(50deg);box-shadow:0 0 0 35px #3c67a408,0 0 0 70px #3c67a408}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #31486a;padding-top:22px;padding-bottom:24px;position:relative;font-size:10px;letter-spacing:1.2px;color:#a9bfdf}@-webkit-keyframes marquee{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
@keyframes marquee{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}100%{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
.service-ribbon{background:#0754f7;color:white;overflow:hidden;padding:0;font-size:13px;font-weight:700;letter-spacing:1.5px;white-space:nowrap;display:flex;align-items:center;height:54px;width:100%}
.ribbon-track, .motion-off .ribbon-track{display:flex!important;align-items:center!important;gap:32px!important;width:max-content!important;-webkit-animation:marquee 16s linear infinite!important;animation:marquee 16s linear infinite!important;will-change:transform!important;padding:0 16px!important}
.ribbon-track span{flex-shrink:0}
.ribbon-track i{font-style:normal;font-size:24px;color:#aacaff;flex-shrink:0}.expertise-v2{background:#eef3fb}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.expertise-card{background:white;padding:25px;border:1px solid #d8e1ed;border-radius:14px;transition:transform .25s,box-shadow .25s}.expertise-card:hover{transform:translateY(-6px);box-shadow:0 20px 35px #0a2a5810}.expertise-icon{height:78px;display:flex;align-items:center;font-size:45px;font-weight:700;color:#0754f7}.expertise-card h3{font-size:22px;margin-top:24px}.expertise-card p{font-size:14px;color:var(--muted)}.expertise-card .textlink{display:block;font-size:12px}.number{font-size:10px;letter-spacing:1.5px;color:#5c7393}.local-story{padding:80px 0;background:#fff}.story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.story-grid figure{margin:0}.story-grid img{width:100%;height:410px;object-fit:cover;border-radius:16px}.story-grid figcaption,.sector-photo figcaption,.local-page-photo figcaption{font-size:10px;line-height:1.5;margin-top:10px;color:#586a81}.story-grid p{color:#56667b;font-size:16px}.story-grid .editorial-note{font-size:11px;margin-top:22px}.strategy-v2{background:#08172e;color:white}.strategy-v2 .sectionhead p{color:#afc0db}.strategy-v2 .eyebrow{color:#99bfff}.strategy-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:45px}.strategy-tabs button{width:100%;display:flex;gap:20px;align-items:center;background:none;color:#a6bad7;border:0;border-top:1px solid #304967;padding:25px 15px;text-align:left;font-size:13px}.strategy-tabs button span{flex:1;font:600 23px Manrope,sans-serif;letter-spacing:-.8px}.strategy-tabs button[aria-selected=true]{color:white;background:#174cbe;border-radius:8px}.strategy-panel{background:#102540;border:1px solid #314d6f;border-radius:14px;padding:35px}.strategy-panel h3{font-size:32px;margin:20px 0}.strategy-panel p,.strategy-panel li{color:#c1cfe2;font-size:14px}.strategy-panel ul{padding-left:20px}.strategy-panel a{color:#a2c6ff}.demo-section{background:#e8eef8}.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.demo-card{border:1px solid #d2ddeb;background:#fff;border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s;transform-style:preserve-3d}.demo-card:hover{box-shadow:0 20px 35px #15274720}.demo-art{height:290px;position:relative;overflow:hidden;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.demo-art small{font-size:9px;letter-spacing:1px;position:relative;z-index:1}.demo-art strong{font:600 27px/1.13 Manrope,sans-serif;letter-spacing:-1px;position:relative;z-index:1}.demo-art>span{font-size:7px;letter-spacing:1px;z-index:1}.art-btp{background:#092949;color:#fff}.city-blocks{position:absolute;bottom:48px;right:5px;width:140px;height:150px;transform:rotate(-9deg);opacity:.7}.city-blocks i{position:absolute;bottom:0;width:42px;background:linear-gradient(90deg,#8cadcc,#e3effa);box-shadow:12px -8px #2e5c87;transform:skewY(-15deg)}.city-blocks i:nth-child(1){height:80px;left:0}.city-blocks i:nth-child(2){height:130px;left:48px}.city-blocks i:nth-child(3){height:100px;left:96px}.art-conseil{background:#edf1e9;color:#131f1d}.art-conseil b{position:absolute;right:15px;top:40px;font-size:155px;line-height:1;color:#b1c4b1;transform:rotate(-8deg)}.art-formation{background:#d6e5ff;color:#062456}.art-formation strong{font-size:25px}.course-list{display:grid;gap:8px}.course-list span{display:block;background:white;padding:8px 10px;border-radius:5px;font-size:10px}.demo-caption{padding:0 23px 23px}.demo-caption h3{font-size:23px;margin:8px 0 12px}.demo-caption p{font-size:13px;color:var(--muted)}.section-foot{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:30px}.section-foot p{font-size:12px;color:#58687e;max-width:400px;margin:0}.sector-photo{padding:75px 0;background:#fff}.sector-photo>.wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;align-items:center}.sector-photo figure{margin:0}.sector-photo img{width:100%;height:320px;object-fit:cover;border-radius:12px}.sector-photo p{color:var(--muted)}.sector-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.sector-pills a{background:#eaf1fd;border:1px solid #cfdcf0;border-radius:30px;padding:9px 15px;font-size:12px}.pricing-v2{background:#e7edf7}.process-v2{background:#fff}.cta{background:linear-gradient(120deg,#0743c4,#0867ff);box-shadow:0 20px 45px #0743c426}.pagehero{background:linear-gradient(120deg,#071a35,#133766);color:#fff;padding-bottom:55px}.pagehero .lead,.pagehero .breadcrumb{color:#bbcee7}.pagehero .eyebrow{color:#99bdff}.pagehero .breadcrumb a{color:white}.pagehero h1{max-width:950px}.demo-intro{padding:22px;background:#e7edf7;border-left:4px solid #164bd6;border-radius:6px;font-size:14px}.demo-detail-art{max-width:900px;margin:auto;perspective:1200px}.demo-detail-art .demo-art{height:430px;padding:40px}.demo-detail-art .demo-art strong{font-size:54px}.demo-detail-art .city-blocks{transform:scale(1.7);right:95px;bottom:95px}.demo-detail-art .art-conseil b{font-size:260px}.demo-detail-art .course-list span{font-size:15px;padding:13px}.demo-detail{margin-top:55px}.local-page-photo{margin:0 0 45px}.local-page-photo img{width:100%;height:340px;object-fit:cover;border-radius:12px}.credits-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.credits-grid img{width:100%;height:250px;object-fit:cover;border-radius:10px}.credits-grid h2{font-size:24px}.credits-grid p{font-size:13px;color:var(--muted)}footer{background:#fff}.footbottom{align-items:center;flex-wrap:wrap}.footbottom button{border:0;background:none;padding:0;color:var(--muted);font-size:11px;text-decoration:underline}.preferences-panel{border:1px solid #bdcce1;border-radius:16px;background:#fff;color:#0a1b31;padding:28px;max-width:520px;width:calc(100% - 30px);box-shadow:0 25px 90px #0005}.preferences-panel::backdrop{background:#06152c99;backdrop-filter:blur(4px)}.preferences-panel h2{font-size:29px;margin:0 0 15px}.preferences-panel p{font-size:14px;color:#5d6b7d}.pref-check{display:flex;gap:12px;align-items:start;margin:20px 0;font-size:14px}.pref-check input{width:18px;height:18px;accent-color:#0754f7;margin-top:4px}.preferences-panel .actions{margin-bottom:5px}.preferences-panel .btn{padding:12px 17px;font-size:12px}.preference-trigger{display:inline-block}.safe-wrap{overflow-wrap:anywhere}.space-top{margin-top:24px}.reveal{opacity:1}.motion-enabled .reveal.pending{opacity:0;transform:translateY(20px)}.motion-enabled .reveal{transition:opacity .6s,transform .6s}.motion-off [data-tilt]{transform:none!important}.motion-off *:not(.ribbon-track):not(.ribbon-track *){scroll-behavior:auto!important;animation:none!important;transition:none!important}.preferences-panel [role=status]{font-size:12px;color:#164bd6;margin:10px 0}.photo-credits-link{font-size:11px}.art-conseil{background:#e4eaf3;color:#0b1b34}.art-conseil b{color:#b3c5e0}.hero-photo figcaption a{color:#fff}
@media(max-width:1050px){.hero-grid{gap:35px}.hero-copy h1{font-size:58px}.hero-scene{min-height:480px}.scene-card{left:0;min-width:200px;padding:22px}.expertise-grid{grid-template-columns:1fr 1fr}.story-grid{gap:35px}.demo-art{padding:20px}.demo-art strong{font-size:24px}.strategy-layout{gap:30px}}
/* Legacy 760px rule consolidated into primary mobile media query below */
@media(prefers-reduced-motion:reduce){[data-tilt]{transform:none!important}.reveal.pending{opacity:1!important;transform:none!important}*{scroll-behavior:auto!important;transition:none!important}}

/* Offre et accès direct au contact */
.hero-copy h1{font-size:clamp(38px,4.3vw,64px);line-height:1.08}.hero-v2 .actions{align-items:stretch}.hero-v2 .actions .btn{white-space:normal;text-align:center}


/* Founder portrait hero visual */
.founder-card-v2{position:relative;z-index:2;margin:0 auto;max-width:400px;border-radius:24px;overflow:hidden;background:#081a36;border:4px solid rgba(173,202,255,0.25);box-shadow:0 32px 64px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.1);transform:perspective(1000px) rotateY(-4deg) rotateZ(1deg);transition:transform .35s ease,box-shadow .35s ease}.hero-scene:hover .founder-card-v2{transform:perspective(1000px) rotateY(0deg) rotateZ(0deg) translateY(-4px);box-shadow:0 40px 80px rgba(0,0,0,0.65),0 0 0 1px rgba(255,255,255,0.2)}.founder-img-box{position:relative;width:100%;height:440px;background:radial-gradient(circle at 50% 30%,#15386b 0%,#081a36 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.founder-img-box img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.founder-info-overlay{position:absolute;bottom:0;left:0;right:0;padding:24px 20px 18px;background:linear-gradient(to top,rgba(6,21,44,0.98) 0%,rgba(6,21,44,0.85) 60%,transparent 100%);color:#fff;backdrop-filter:blur(4px)}.founder-role{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:#7eb0ff;font-weight:700;margin-bottom:2px}.founder-name{display:block;font:700 22px/1.25 Manrope,sans-serif;letter-spacing:-0.5px;color:#fff;margin:0 0 8px}.founder-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#d8e5f8;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.15);padding:4px 10px;border-radius:999px;font-weight:500}

/* Header épuré, centrage mathématique du logo & navigation mobile parfaite */
.topline{display:none!important}

/* Default clean logo behavior */
.brand-logo{display:flex;align-items:center;justify-content:center;background:transparent}
.brand-logo img{display:block;height:48px;width:auto;max-width:180px;object-fit:contain;position:static}

@media(max-width:760px){
  /* Base & Conteneurs */
  html,body{overflow-x:hidden!important;width:100%!important}
  .wrap{width:calc(100% - 32px)!important;margin:0 auto!important}
  
  /* Header fixe avec ombre discrète */
  header{
    position:sticky!important;
    top:0!important;
    background:#ffffff!important;
    border-bottom:1px solid #d5deeb!important;
    z-index:100!important;
    box-shadow:0 2px 8px rgba(8,22,39,0.06)!important;
  }
  
  /* En-tête mobile équilibré : Logo net à gauche, Menu à droite (standard professionnel) */
  .nav{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:56px!important;
    padding:8px 0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .nav:before{
    display:none!important;
  }
  .brand{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    text-decoration:none!important;
  }
  .brand-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    margin:0!important;
    height:38px!important;
    background:transparent!important;
  }
  .brand-logo img{
    height:36px!important;
    width:auto!important;
    max-width:130px!important;
    object-fit:contain!important;
    display:block!important;
    position:static!important;
    margin:0!important;
  }
  
  /* Bouton Menu tactile ergonomique */
  .menu{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#f0f4fc!important;
    border:1px solid #cfdcf0!important;
    border-radius:8px!important;
    padding:7px 12px!important;
    font-size:12.5px!important;
    font-weight:700!important;
    color:#081627!important;
    cursor:pointer!important;
    white-space:nowrap!important;
    transform:none!important;
    margin:0!important;
    line-height:1!important;
  }
  
  /* Tiroir de menu déroulant mobile propre et fluide */
  .navlinks{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    background:#ffffff!important;
    padding:14px 20px 24px!important;
    border-top:1px solid #d5deeb!important;
    border-bottom:3px solid #0754f7!important;
    box-shadow:0 24px 48px rgba(8,22,39,0.22)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    z-index:999!important;
    box-sizing:border-box!important;
  }
  .navlinks.open{
    display:flex!important;
  }
  .navlinks a:not(.btn){
    padding:14px 4px!important;
    border-bottom:1px solid #edf2f9!important;
    font-size:15.5px!important;
    font-weight:600!important;
    color:#081627!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    text-decoration:none!important;
  }
  .navlinks a:not(.btn):hover, .navlinks a:not(.btn)[aria-current=page]{
    color:#0754f7!important;
  }
  .navlinks a:not(.btn):after{
    content:'→'!important;
    color:#8ea3bf!important;
    font-size:15px!important;
  }
  .navlinks .btn{
    margin-top:18px!important;
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
    padding:14px 20px!important;
    font-size:15px!important;
  }
  
  /* --- Typographie & Titres fluides (aucun texte coupé) --- */
  h1 br, h2 br, h3 br {
    display: none !important;
  }
  .eyebrow {
    font-size: 10px !important;
    letter-spacing: 0.8px !important;
    line-height: 1.35 !important;
    padding: 5px 10px !important;
    white-space: normal !important;
    word-break: break-word !important;
    display: inline-flex !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .hero-copy h1 {
    font-size: clamp(25px, 6.8vw, 36px) !important;
    line-height: 1.22 !important;
    letter-spacing: -0.025em !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    margin: 12px 0 14px !important;
  }
  h2 {
    font-size: clamp(20px, 5.5vw, 27px) !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  h3 {
    font-size: clamp(17px, 4.8vw, 21px) !important;
    line-height: 1.3 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* --- Hero section mobile --- */
  .hero-grid {
    grid-template-columns: 1fr !important;
    padding: 24px 0 20px !important;
    gap: 20px !important;
    min-height: 0 !important;
  }
  .hero-intro {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    margin-bottom: 12px !important;
  }
  .hero-detail {
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: #b8cde8 !important;
    margin-bottom: 16px !important;
  }
  .hero-v2 .actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin: 16px 0 14px !important;
    width: 100% !important;
  }
  .hero-v2 .actions .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    padding: 13px 16px !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
  .hero-points {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    margin-top: 14px !important;
  }
  .hero-points span {
    white-space: normal !important;
    word-break: break-word !important;
  }
  .hero-bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
    font-size: 10.5px !important;
    letter-spacing: 1px !important;
    padding: 14px 0 !important;
  }
  .hero-bottom a {
    max-width: none !important;
    white-space: normal !important;
    display: inline-block !important;
  }

  /* --- Carte Fondateur (Portrait complet non tronqué & cartouche lisible dessous) --- */
  .hero-scene {
    min-height: auto !important;
    max-width: 300px !important;
    margin: 18px auto 0 !important;
    perspective: none !important;
  }
  .founder-card-v2 {
    transform: none !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 0 auto !important;
    border-radius: 20px !important;
    border: 3px solid rgba(173, 202, 255, 0.35) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
    overflow: hidden !important;
    background: #081a36 !important;
  }
  .founder-img-box {
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    aspect-ratio: 4 / 5 !important;
    background: #081a36 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  .founder-img-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
    display: block !important;
  }
  .founder-info-overlay {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    background: #06152c !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid rgba(173, 202, 255, 0.2) !important;
    backdrop-filter: none !important;
    text-align: center !important;
  }
  .founder-role {
    font-size: 9.5px !important;
    letter-spacing: 1.5px !important;
    color: #7eb0ff !important;
    margin-bottom: 2px !important;
    display: block !important;
  }
  .founder-name {
    font-size: 19px !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    margin: 0 0 6px !important;
    display: block !important;
  }
  .founder-badge {
    font-size: 10.5px !important;
    padding: 4px 10px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .orbit {
    display: none !important;
  }

  /* --- Bande Déroulante Continue (Marquee fluide garanti) --- */
  .service-ribbon {
    height: 48px !important;
    font-size: 10.5px !important;
    letter-spacing: 1.2px !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  .ribbon-track {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    width: max-content !important;
    -webkit-animation: marquee 16s linear infinite !important;
    animation: marquee 16s linear infinite !important;
    will-change: transform !important;
  }

  /* --- Photographies Burkinabè réelles (aucun rognage destructif) --- */
  .story-grid, .strategy-layout, .sector-photo > .wrap {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .local-story, .sector-photo {
    padding: 45px 0 !important;
  }
  .story-grid figure, .sector-photo figure {
    margin: 0 !important;
    width: 100% !important;
  }
  .story-grid img, .sector-photo img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    max-height: 240px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    display: block !important;
  }
  .local-page-photo img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    max-height: 240px !important;
    object-fit: cover !important;
    border-radius: 14px !important;
    display: block !important;
  }

  /* --- Grille des expertises (1 colonne pleine largeur sur mobile) --- */
  .expertise-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .expertise-card {
    padding: 20px 18px !important;
    border-radius: 12px !important;
  }
  .expertise-card h3 {
    font-size: 20px !important;
    margin: 12px 0 6px !important;
  }
  .expertise-card p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }
  .expertise-icon {
    height: 44px !important;
    font-size: 32px !important;
  }

  /* --- Stratégie & Onglets --- */
  .strategy-tabs button {
    padding: 14px 12px !important;
    font-size: 12px !important;
    gap: 12px !important;
  }
  .strategy-tabs button span {
    font-size: 17px !important;
    letter-spacing: -0.3px !important;
  }
  .strategy-panel {
    padding: 22px 18px !important;
    border-radius: 12px !important;
  }
  .strategy-panel h3 {
    font-size: clamp(19px, 5vw, 24px) !important;
    line-height: 1.3 !important;
    margin: 14px 0 10px !important;
  }
  .strategy-panel p, .strategy-panel li {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }
  .strategy-panel ul {
    padding-left: 18px !important;
    margin: 12px 0 16px !important;
  }

  /* --- Démonstrations & Cartes --- */
  .demo-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .demo-art {
    height: 220px !important;
  }
  .demo-art-overlay {
    padding: 16px 18px !important;
  }
  .demo-art-overlay strong {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .demo-art-overlay small {
    font-size: 8.5px !important;
    letter-spacing: 1px !important;
    white-space: normal !important;
  }
  .demo-art-overlay span {
    font-size: 7.5px !important;
    letter-spacing: 0.8px !important;
    white-space: normal !important;
  }
  .demo-caption {
    padding: 14px 16px 18px !important;
  }
  .demo-caption h3 {
    font-size: 19px !important;
  }
  .demo-detail-art .demo-art {
    height: 320px !important;
    padding: 22px !important;
  }
  .demo-detail-art .demo-art strong {
    font-size: 30px !important;
  }
  .demo-detail-art .city-blocks {
    transform: scale(1) !important;
    right: 10px !important;
    bottom: 60px !important;
  }
  .demo-detail-art .art-conseil b {
    font-size: 170px !important;
  }
  .section-foot {
    align-items: start !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  /* --- Pilules de secteurs --- */
  .sector-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 16px !important;
  }
  .sector-pills a {
    font-size: 11.5px !important;
    padding: 7px 12px !important;
  }

  /* --- Cartes tarifaires --- */
  .pricing {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .pricecard {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }
  .pricecard h3 {
    font-size: 22px !important;
  }
  .pricecard .price {
    font-size: 32px !important;
    margin: 10px 0 6px !important;
  }
  .pricecard .price small {
    font-size: 16px !important;
  }
  .pricecard p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }
  .pricecard ul {
    padding-left: 18px !important;
    margin: 14px 0 18px !important;
  }
  .pricecard li {
    font-size: 13.5px !important;
    margin-bottom: 7px !important;
    line-height: 1.45 !important;
  }
  .pricecard .btn {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .pricecard .note {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    margin-top: 12px !important;
  }

  /* --- Étapes de projet (1 colonne fluide) --- */
  .steps {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .steps article {
    padding: 18px 16px !important;
    border-radius: 12px !important;
  }
  .steps strong {
    font-size: 24px !important;
    color: #0754f7 !important;
  }
  .steps h3 {
    font-size: 18px !important;
    margin: 8px 0 6px !important;
  }
  .steps p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  /* --- FAQ --- */
  .faq details {
    padding: 16px 14px !important;
    border-radius: 10px !important;
  }
  .faq summary {
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }
  .faq p {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    margin-top: 10px !important;
  }

  /* --- Encart CTA --- */
  .cta {
    padding: 24px 18px !important;
    border-radius: 14px !important;
    margin-bottom: 35px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: left !important;
    gap: 14px !important;
  }
  .cta h2 {
    font-size: clamp(21px, 5.5vw, 25px) !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }
  .cta p {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }
  .cta .btn {
    width: 100% !important;
    text-align: center !important;
    margin-top: 10px !important;
    justify-content: center !important;
    font-size: 14px !important;
    padding: 13px 18px !important;
  }

  /* --- Pied de page & Crédits --- */
  .credits-grid {
    grid-template-columns: 1fr !important;
  }
  .footgrid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .footgrid > div {
    border-bottom: 1px solid #d5deeb !important;
    padding-bottom: 16px !important;
  }
  .footgrid > div:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }
  .footgrid h3 {
    font-size: 15px !important;
    margin-bottom: 8px !important;
  }
  .footgrid a {
    font-size: 13.5px !important;
    padding: 4px 0 !important;
  }
  .footbottom {
    flex-direction: column !important;
    gap: 12px !important;
    padding-bottom: 75px !important;
    font-size: 11px !important;
    align-items: flex-start !important;
  }

  /* --- Bouton WhatsApp flottant mobile --- */
  .wa {
    right: 14px !important;
    bottom: 14px !important;
    font-size: 12px !important;
    padding: 12px 18px !important;
    border-radius: 50px !important;
    box-shadow: 0 6px 24px rgba(0,0,0,0.35) !important;
    z-index: 90 !important;
  }
  .preferences-panel h2 {
    font-size: 23px !important;
  }
}

/* Photo covers for demo cards */
.demo-art-photo{position:relative;overflow:hidden;padding:0!important;background:#081627}
.demo-cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease;z-index:0}
.demo-card:hover .demo-cover-img{transform:scale(1.06)}
.demo-art-overlay{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:linear-gradient(180deg,rgba(6,21,44,0.78) 0%,rgba(6,21,44,0.2) 40%,rgba(6,21,44,0.85) 100%);box-sizing:border-box;color:#fff}
.demo-art-overlay small{font-size:9px;letter-spacing:1.2px;font-weight:700;color:#9ec3ff;text-transform:uppercase}
.demo-art-overlay strong{font:700 24px/1.2 Manrope,sans-serif;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.6)}
.demo-art-overlay span{font-size:8px;letter-spacing:1.2px;font-weight:600;color:#e1edff;text-transform:uppercase}
.demo-detail-art .demo-art-overlay{padding:35px}
.demo-detail-art .demo-art-overlay strong{font-size:48px}


