/* Accueil : présentation des modules, distincte d’une capture de l’application. */
.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr 1fr;gap:48px;padding-top:58px;padding-bottom:48px;align-items:center}
.page-home .home-banner h1{font-size:clamp(38px,4.05vw,58px);line-height:1.12;letter-spacing:-.045em}
.page-home .home-banner .hero-definition{max-width:560px;font-size:17px;line-height:1.8}
.page-home .home-banner .organisation-scene{display:block;min-width:0;min-height:0;margin:0;transform:none}
.organisation-map{background:#f3f7fa;border:1px solid #a3c5dd;border-radius:16px;padding:25px;color:#21343e;box-shadow:0 24px 70px #0003;position:relative;overflow:hidden}
.organisation-map-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.07em;color:#335569}
.organisation-map-top b{font-size:21px;color:#0879b4;letter-spacing:-.05em}
.organisation-map-tag{font-size:10px;letter-spacing:0;background:#e4eef5;border:1px solid #c9dce9;border-radius:20px;padding:6px 10px}
.organisation-map-core{display:flex;gap:16px;align-items:center;padding:28px 0 24px}
.organisation-core-icon{display:grid;place-items:center;width:58px;height:66px;flex:none;border:1px solid #b9d8eb;background:#deedf7;border-radius:12px;color:#236e97}
.organisation-core-icon svg{width:38px;height:38px}
.organisation-map-core p{font-size:10px;font-weight:750;letter-spacing:.13em;color:#42728e;margin:0 0 8px}
.organisation-map-core h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0;color:#21343e}
.organisation-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.organisation-module-grid a{display:flex;align-items:center;gap:9px;min-width:0;padding:15px 10px;background:#fff;border:1px solid #cfdee7;border-radius:8px;text-decoration:none;color:#21343e;transition:border-color .15s,background .15s}
.organisation-module-grid a>span:nth-child(2){min-width:0;flex:1}
.organisation-module-grid a>span:last-child{color:#48738b;font-size:13px}
.organisation-module-grid a:hover{border-color:#3c8dbc;background:#eaf5fc}
.organisation-module-grid strong{display:block;font-size:12px;line-height:1.4;font-weight:750}
.organisation-module-grid small{display:block;font-size:10px;line-height:1.5;color:#536d7d;margin-top:4px}
.module-symbol{font-size:10px;font-weight:750;color:#397799;border-bottom:2px solid #87bedc;padding-bottom:4px;align-self:flex-start;margin-top:3px}
.organisation-simon{display:flex;align-items:center;gap:12px;padding:15px;margin-top:16px;border-radius:9px;background:#12344c;color:#fff;text-decoration:none}
.organisation-simon img{width:42px;height:42px;object-fit:contain}
.organisation-simon>span:nth-child(2){flex:1}
.organisation-simon strong{display:block;font-size:14px;color:#fff}
.organisation-simon small{display:block;font-size:12px;color:#c6e1f2;margin-top:4px}
.organisation-simon:hover{background:#1b4966}
.organisation-map-note{font-size:10px;text-align:center;color:#536d7d;margin:14px 0 0;line-height:1.5}
.organisation-map a:focus-visible{outline:3px solid #1689c7;outline-offset:3px}
.home-module-access{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.home-module-access a{padding:9px 14px;border:1px solid #bed3e1;border-radius:5px;color:#23698f;background:#f3f7fa;font-size:13px;text-decoration:none}
.home-module-access a:hover{text-decoration:underline}
@media(max-width:1100px){.page-home .home-banner .impact-hero-grid{gap:25px}.organisation-map{padding:18px}.organisation-module-grid{gap:8px}.organisation-module-grid a{padding:12px 8px;gap:6px}}
@media(max-width:820px){.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr;padding-top:38px;padding-bottom:32px;gap:30px}.page-home .home-banner .organisation-scene{max-width:600px;width:100%;justify-self:center}.page-home .home-banner h1{font-size:44px}.organisation-module-grid strong{font-size:13px}.organisation-module-grid small{font-size:11px}}
@media(max-width:420px){.page-home .home-banner h1{font-size:36px}.organisation-map{padding:16px}.organisation-map-top{gap:6px}.organisation-map-tag{font-size:9px;padding:5px 7px}.organisation-map-core h2{font-size:22px}.organisation-module-grid{grid-template-columns:1fr}.organisation-module-grid a{padding:12px}.organisation-module-grid strong{font-size:14px}.organisation-module-grid small{font-size:12px}.organisation-map-note{font-size:11px}.page-home .home-banner .hero-definition{font-size:16px}}
@media(max-width:820px){.page-home .home-banner .organisation-scene{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.organisation-module-grid a{transition:none}}

/* La promesse commerciale : rassembler le contexte, puis reprendre le travail. */
.page-home .home-banner .value-scene{display:block;min-width:0;min-height:0;margin:0;padding:0}
.value-visual{padding:32px 34px 22px;background:linear-gradient(145deg,#edf7fc,#fff 65%);border:1px solid #a7cddd;border-radius:14px;box-shadow:0 25px 70px #0003;color:#203b4d}
.value-eyebrow{font-size:11px;font-weight:750;letter-spacing:.13em;margin:0 0 16px;color:#316d8c}
.value-visual h2{font-size:28px;line-height:1.25;letter-spacing:-.03em;margin:0 0 28px;color:#203b4d}
.value-visual h2 span{color:#16769f}
.value-fragments{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.value-fragments span{padding:12px 5px;text-align:center;background:#fff;border:1px solid #c7dbe7;border-radius:5px;font-size:12px;color:#546d7b;box-shadow:0 4px 8px #153f5510}
.value-fragments span:nth-child(odd){transform:rotate(-3deg)}
.value-fragments span:nth-child(even){transform:rotate(3deg)}
.value-converge{display:flex;justify-content:space-around;height:35px;margin:0 11%}
.value-converge i{width:1px;background:#98c4d9;transform-origin:bottom;transform:rotate(20deg)}
.value-converge i:nth-child(n+3){transform:rotate(-20deg)}
.value-dossier{background:#fff;border:1px solid #91bdd3;border-top:4px solid #2488b6;border-radius:8px;padding:20px 23px;box-shadow:0 12px 30px #1e567d14}
.value-dossier-top{display:flex;align-items:center;gap:12px;font-size:19px}
.value-dossier ul{list-style:none;padding:0;margin:18px 0 0;font-size:14px;line-height:1.6}
.value-dossier li{display:flex;gap:10px;padding:6px 0;border-top:1px solid #edf2f5}
.value-dossier li span{color:#21836a;font-weight:800}
.value-payoff{text-align:center;font-size:18px;line-height:1.4;margin:23px 0 18px;color:#37566b}
.value-payoff strong{font-size:28px;color:#1d6285;letter-spacing:-.03em}
.value-caption{font-size:10px;line-height:1.6;text-align:center;color:#5c7483;margin:0}
.value-journey{display:grid;grid-template-columns:1fr 1.35fr;gap:65px;border-top:1px solid #c9dce7;padding:38px 0;margin-top:18px}
.value-journey-intro>p{font-size:12px;letter-spacing:.08em;font-weight:750;color:#28749b}
.value-journey-intro h3{font-size:28px;line-height:1.25;letter-spacing:-.025em;margin:15px 0 24px;color:#21343e}
.value-journey-intro a{font-size:14px;color:#23698f;font-weight:650;text-underline-offset:4px}
.value-journey ol{list-style:none;counter-reset:journey;margin:0;padding:0}
.value-journey li{counter-increment:journey;position:relative;padding:0 0 25px 45px;border-left:1px solid #c9dce7;margin-left:12px}
.value-journey li::before{content:counter(journey);position:absolute;left:-15px;top:0;background:#e6f3fa;border:1px solid #acd0e4;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:#23698f;font-size:13px;font-weight:750}
.value-journey li:last-child{border:0;padding-bottom:0}
.value-journey li strong{display:block;font-size:18px;margin-bottom:6px;color:#21343e}
.value-journey li span{font-size:15px;line-height:1.7;color:#52616b}
.value-journey-result{padding:16px 18px;margin:25px 0 0;background:#edf6fa;border-left:3px solid #3c8dbc;font-size:15px;font-weight:650;color:#285a74;line-height:1.6}
.simon-value{padding:30px;border:1px solid #42718e;background:#12364e;border-radius:10px;color:#e1f1fa}
.simon-value .value-eyebrow{color:#a9d5ed}
.simon-value h3{font-size:26px;line-height:1.3;margin:0 0 25px;color:#fff}
.simon-value>div{padding:18px 0;border-top:1px solid #416078}
.simon-value>div>span{font-size:11px;font-weight:700;letter-spacing:.08em;color:#a9d5ed}
.simon-value>div>p{font-size:16px;line-height:1.7;margin:10px 0 0}
.simon-value-result{font-size:17px;font-weight:700;color:#fff}
.simon-value small{font-size:12px;line-height:1.6;color:#c3dce9}
@media(max-width:820px){.page-home .home-banner .value-scene{margin-top:24px;width:100%;max-width:580px}.value-journey{gap:30px;grid-template-columns:1fr}.value-journey-intro h3{max-width:600px}.value-journey-intro h3{font-size:26px}}
@media(max-width:420px){.value-visual{padding:24px 18px 18px}.value-visual h2{font-size:25px}.value-fragments{gap:5px}.value-fragments span{font-size:10px}.value-dossier{padding:18px 14px}.value-dossier-top{font-size:17px}.value-dossier ul{font-size:13px}.simon-value{padding:23px}.value-journey{padding:28px 0}}

/* Illustration de marque : une équipe reliée à ses opérations, sans faux écran. */
.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr 1.12fr;gap:24px}
.page-home .home-banner .marketing-scene{display:block;position:relative;min-width:0;min-height:0;width:100%;margin:0;padding:0;isolation:isolate;align-self:center}
.marketing-illustration{display:block;width:112%;max-width:none;height:auto;margin-left:-6%;mask-image:radial-gradient(ellipse 66% 68% at center,#000 58%,transparent 91%);-webkit-mask-image:radial-gradient(ellipse 66% 68% at center,#000 58%,transparent 91%)}
.marketing-scene figcaption{text-align:center;font-size:15px;color:#badcee;line-height:1.6;margin:0;padding:8px 0 0}
.marketing-scene figcaption strong{color:#fff}
@media(max-width:1100px){.page-home .home-banner .impact-hero-grid{gap:14px}.marketing-illustration{width:100%;margin-left:0}}
@media(max-width:820px){.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr}.page-home .home-banner .marketing-scene{max-width:620px;margin:12px auto 0}.marketing-illustration{width:100%;margin:0}.marketing-scene figcaption{font-size:14px;padding-top:0}}

/* Direction éditoriale : promesse, continuité du parcours et références. */
.platform-site.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr 1.08fr;gap:42px;padding-top:48px;padding-bottom:48px}
.platform-site.page-home .home-banner .impact-copy h1{font-size:clamp(36px,3.5vw,50px);line-height:1.12;letter-spacing:-.045em;margin-bottom:25px}
.platform-site.page-home .home-banner .hero-definition{font-size:16px;line-height:1.75;max-width:520px}
.platform-site.page-home .home-banner .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}
.hero-contact-link{font-size:13px;font-weight:650;color:#c3e4f6;text-decoration:none;line-height:1.5;padding:10px 0}
.hero-contact-link:hover{text-decoration:underline;text-underline-offset:5px}
.hero-local{display:flex;align-items:center;gap:9px;font-size:12px;color:#c3d9e8;margin:25px 0 12px}
.hero-budget{margin:0;color:#b7cddd;font-size:12px;line-height:1.7}
.hero-budget a{color:#fff;text-decoration:none;font-size:14px}
.hero-budget a:hover{text-decoration:underline}
.hero-budget span{display:block;margin-top:3px}
.page-home .home-banner .editorial-scene{display:block;position:relative;min-width:0;min-height:0;margin:0;padding:0;width:100%;border-radius:0;overflow:visible;background:transparent;border:0;box-shadow:none}
.editorial-scene>img{display:block;width:100%;height:auto}
.editorial-scene figcaption{display:grid;grid-template-columns:25% 45% 30%;padding:0 0 22px;margin-top:-12px;position:relative;color:#fff;font-size:14px;font-weight:650}
.editorial-scene figcaption span{text-align:center;border-right:1px solid #345269}
.editorial-scene figcaption span:last-child{border:0}
.editorial-scene figcaption small{display:block;color:#65bde8;font-size:10px;font-weight:500;letter-spacing:.08em;margin-bottom:7px}
.page-home .customer-proof{padding:25px 0 28px;background:#fff;border-bottom:1px solid #d8e4ec}
.page-home .customer-proof-heading{margin-bottom:18px}
.page-home .customer-proof-heading h2{font-size:17px;line-height:1.4}
.page-home .customer-proof-heading p{font-size:12px}
.page-home .customer-logos{grid-template-columns:repeat(6,minmax(0,1fr));gap:24px;align-items:center}
.page-home .customer-logos img{width:100%;height:170px;max-height:none;object-fit:contain}
.page-home .customer-logos img[src$="logo_9.png"]{height:100px}
@media(max-width:1000px){.page-home .customer-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px}.page-home .customer-logos img{height:160px}}
@media(max-width:560px){.page-home .customer-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.page-home .customer-logos img{height:140px}.page-home .customer-logos img[src$="logo_9.png"]{height:88px}}
.page-home .home-banner :is(a):focus-visible{outline:3px solid #6cc9f3;outline-offset:5px}
@media(max-width:1100px){.platform-site.page-home .home-banner .impact-hero-grid{gap:26px}.hero-local{font-size:11px}.platform-site.page-home .home-banner .impact-copy h1{font-size:39px}}
@media(max-width:820px){.platform-site.page-home .home-banner .impact-hero-grid{grid-template-columns:1fr;gap:30px;padding-top:34px;padding-bottom:32px}.page-home .home-banner .editorial-scene{max-width:600px;justify-self:center}.platform-site.page-home .home-banner .impact-copy h1{font-size:42px}.hero-local{font-size:12px}}
@media(max-width:420px){.platform-site.page-home .home-banner .impact-copy h1{font-size:36px}.platform-site.page-home .home-banner .hero-actions{gap:8px;align-items:stretch;flex-direction:column}.hero-contact-link{text-align:center}.hero-local{font-size:11px}.editorial-scene figcaption{font-size:12px;padding-bottom:16px;margin-top:0}.page-home .customer-proof{padding:22px 0}}

/* Composition numérique libre, sans carte ni encadrement. */
.digital-scene>img{object-fit:contain;filter:drop-shadow(0 16px 24px #0002)}
.editorial-scene.digital-scene figcaption{display:block;text-align:center;margin:8px 0 0;padding:0;font-size:15px;line-height:1.6;font-weight:400;color:#b9d9ec}
.editorial-scene.digital-scene figcaption strong{color:#fff;font-size:19px;font-weight:650}
@media(max-width:420px){.editorial-scene.digital-scene figcaption{font-size:14px}.editorial-scene.digital-scene figcaption strong{font-size:17px}}

/* Une seule scène photographique, fondue dans la bannière. */
.natural-scene>img{filter:none;mask-image:linear-gradient(to right,transparent,#000 9%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 84%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 9%,#000 84%,transparent);-webkit-mask-composite:source-in}
.editorial-scene.natural-scene figcaption{margin-top:-8px;position:relative}

/* Retour à la photographie de la bannière en production. */
.page-home .home-banner.production-visual .banner-photo{opacity:1;inset:0;width:100%;height:100%;object-position:center 54%}
.page-home .home-banner.production-visual::before{clip-path:polygon(0 0,49% 0,59% 49%,47% 100%,0 100%);background:linear-gradient(110deg,#07172b 12%,#0b2340f5 80%,#143c60)}
@media(max-width:820px){.page-home .home-banner.production-visual .banner-photo{top:auto;bottom:0;height:340px;object-position:76% center}.page-home .home-banner.production-visual::before{clip-path:none;background:linear-gradient(to bottom,#07192b 0%,#07192b 62%,transparent 82%)}.production-visual-space{height:270px}}
