/* ============== INNER PAGE · SOLUTIONS RETAIL ============== */

/* Hero */
.page-inner{background:var(--paper-50)}
.inner-hero{position:relative;overflow:hidden;padding:120px 0 56px;min-height:72vh;display:grid;align-items:center;background:linear-gradient(180deg,#fff 0%,var(--paper-50) 100%)}
.inner-hero--dark{background:var(--navy-950);color:#fff;isolation:isolate}
.inner-hero--dark .hero-aurora{position:absolute;inset:-15%;z-index:0;pointer-events:none;background:radial-gradient(38% 42% at 22% 28%,rgba(91,192,147,.42) 0%,rgba(91,192,147,0) 70%),radial-gradient(36% 38% at 78% 72%,rgba(61,175,124,.38) 0%,rgba(61,175,124,0) 70%),radial-gradient(28% 30% at 60% 25%,rgba(126,212,170,.28) 0%,rgba(126,212,170,0) 70%),radial-gradient(34% 32% at 30% 80%,rgba(20,90,120,.5) 0%,rgba(20,90,120,0) 70%);filter:blur(70px) saturate(140%);animation:auroraShift 20s ease-in-out infinite alternate}
.inner-hero .container{position:relative;z-index:1}
.breadcrumb{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--fg-3);margin-top:15px;margin-bottom:32px}
.inner-hero--dark .breadcrumb{color:rgba(255,255,255,.55)}
.breadcrumb a{color:var(--fg-3);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
.inner-hero--dark .breadcrumb a{color:rgba(255,255,255,.7)}
.breadcrumb a:hover{color:var(--hover-green)}
.inner-hero--dark .breadcrumb a:hover{color:var(--green-400)}
.breadcrumb .current{color:var(--fg-1);font-weight:600}
.inner-hero--dark .breadcrumb .current{color:#fff}
.breadcrumb span[aria-hidden]{color:var(--fg-4);font-size:14px}
.inner-hero--dark .breadcrumb span[aria-hidden]{color:rgba(255,255,255,.35)}

.inner-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.inner-hero-left{max-width:580px}
.inner-hero-left .eyebrow{color:var(--green-700)}
.inner-hero--dark .inner-hero-left .eyebrow{color:var(--green-exergue)}
.inner-hero--dark .inner-hero-left .eyebrow .pip{background:var(--green-exergue);box-shadow:0 0 0 4px rgba(61,175,124,.18),0 0 16px rgba(61,175,124,.6)}
.inner-hero-left .chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-pill);background:var(--green-exergue);color:#fff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0}
.inner-hero-left h1{font-family:var(--font-display);font-size:clamp(32px,3.8vw,52px);font-weight:800;line-height:1.1;letter-spacing:-0.02em;margin:24px 0 20px;color:var(--fg-1);text-wrap:balance}
.inner-hero--dark .inner-hero-left h1{color:#fff}
.inner-hero-left .lead{font-size:clamp(17px,1.3vw,20px);line-height:1.55;color:var(--fg-3);max-width:540px;margin:0 0 32px}
.inner-hero--dark .inner-hero-left .lead{color:rgba(255,255,255,.78)}
.inner-hero-left .hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.inner-hero-right{position:relative;z-index:1}
.inner-hero-img{position:relative;display:flex;justify-content:flex-end;align-items:center;width:100%}
.inner-hero-img img{display:block;width:auto;max-width:min(100%,497px);height:auto;max-height:min(497px,calc(72vh - 86px));border-radius:var(--radius-lg);box-shadow:0 30px 80px -20px rgba(6,36,63,.35);animation:innerHeroFloat 7s ease-in-out infinite alternate;will-change:transform}
@keyframes innerHeroFloat{0%{transform:translateY(0) rotate(0deg)}100%{transform:translateY(-18px) rotate(1.5deg)}}
@media (prefers-reduced-motion:reduce){.inner-hero-img img{animation:none}}
.inner-hero--dark .inner-hero-img img{box-shadow:0 30px 80px -20px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}

/* Bénéfices */
.inner-benefits{background:#fff;padding:96px 0}
.benefits-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.benefits-grid li{padding:32px 28px;border-radius:var(--radius-lg);background:var(--paper-50);box-shadow:var(--shadow-card-light);transition:transform 600ms cubic-bezier(.2,.6,.2,1),box-shadow 600ms cubic-bezier(.2,.6,.2,1)}
.benefits-grid li:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-light-hover)}
.benefits-grid .ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--brand-green);color:#fff;margin-bottom:18px;box-shadow:0 8px 18px -8px rgba(26,110,85,.4)}
.benefits-grid h3{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--fg-1);line-height:1.3}
.benefits-grid p{margin:0;font-size:14px;line-height:1.6;color:var(--fg-3)}

/* Galerie masonry (CSS columns) · paddings réduits pour montrer la 1re rangée au-dessus du fold */
.inner-gallery{background:linear-gradient(180deg,#fff 0%,var(--paper-50) 100%);color:var(--fg-1);padding:64px 0 96px;position:relative;overflow:hidden}
.inner-gallery .sec-head{margin-bottom:20px}
.inner-gallery .sec-head h2{color:var(--fg-1)}
.inner-gallery .sec-head .eyebrow{color:var(--green-700)}
.inner-gallery .sec-head .lead{color:var(--fg-3)}
.inner-gallery .container{position:relative;z-index:1}
.bento-grid{column-count:4;column-gap:20px}
.bento-item{display:block;width:100%;margin:0 0 20px;break-inside:avoid;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card-light);background:#fff;transition:transform 600ms cubic-bezier(.2,.6,.2,1),box-shadow 600ms cubic-bezier(.2,.6,.2,1);cursor:pointer}
.bento-item.bento-reveal{opacity:0;transform:translateY(24px) scale(.985);transition:opacity 620ms cubic-bezier(.22,1,.36,1),transform 760ms cubic-bezier(.22,1,.36,1),box-shadow 600ms cubic-bezier(.2,.6,.2,1)}
.bento-item.bento-reveal.in{opacity:1;transform:translateY(0) scale(1)}
@media (prefers-reduced-motion:reduce){.bento-item.bento-reveal{opacity:1;transform:none;transition:none}}
.bento-item:hover,.bento-item.bento-reveal.in:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-light-hover)}
.bento-item img{width:100%;height:auto;display:block;transition:transform 700ms cubic-bezier(.2,.6,.2,1)}
.bento-item:hover img{transform:scale(1.04)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(3,24,43,.94);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 320ms var(--ease-out);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox-stage{position:relative;width:min(1200px,92vw);height:min(85vh,900px);display:flex;align-items:center;justify-content:center}
.lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-lg);background:#fff;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.lightbox-caption{position:absolute;left:0;right:0;bottom:-44px;text-align:center;color:rgba(255,255,255,.78);font-size:14px;letter-spacing:.02em}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(3,24,43,.72);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.45);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.lb-btn:hover{background:rgba(3,24,43,.92);transform:scale(1.05)}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.05)}
.lb-btn svg{width:24px;height:24px}
.lb-prev{left:24px;top:50%;transform:translateY(-50%)}
.lb-next{right:24px;top:50%;transform:translateY(-50%)}
.lb-close{top:24px;right:24px}
body.lightbox-open{overflow:hidden}

/* Pourquoi sur mesure */
.inner-pillars{background:var(--navy-950);color:#fff;padding:96px 0}
.inner-pillars .sec-head h2{color:#fff}
.inner-pillars .sec-head .eyebrow{color:var(--green-exergue)}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.pillar{position:relative;padding:32px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.pillar .pillar-num{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--green-400);display:block;margin-bottom:14px}
.pillar h3{margin:0 0 12px;font-size:21px;line-height:1.25;font-weight:700;color:#fff;letter-spacing:-0.01em}
.pillar p{margin:0;font-size:15px;line-height:1.6;color:rgba(255,255,255,.72);max-width:32ch}

/* Cas client */
.inner-case{background:linear-gradient(180deg,var(--paper-50) 0%,var(--paper-100) 100%);padding:120px 0}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.case-media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 80px -20px rgba(6,36,63,.4)}
.case-media img{width:100%;height:100%;object-fit:cover;display:block}
.case-body h2{font-family:var(--font-display);font-size:clamp(32px,3.6vw,48px);font-weight:800;line-height:1.1;letter-spacing:-0.015em;margin:14px 0 18px;color:var(--fg-1)}
.case-body .lead{font-size:17px;line-height:1.6;color:var(--fg-3);margin:0 0 28px}
.case-stats{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-top:1px solid var(--hairline-light);border-bottom:1px solid var(--hairline-light);padding:24px 0}
.case-stats li{display:flex;flex-direction:column;gap:4px}
.case-stats strong{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--brand-navy);letter-spacing:-0.02em;line-height:1}
.case-stats span{font-size:12px;color:var(--fg-3);letter-spacing:.02em}

/* Process */
.inner-process{background:#fff;padding:96px 0}
.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;counter-reset:step}
.process-steps li{position:relative;padding-top:24px;border-top:2px solid var(--brand-green)}
.process-steps li:not(:last-child)::after{content:"";position:absolute;top:-2px;right:-16px;width:32px;height:2px;background:var(--green-200)}
.process-steps .step-num{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--green-700);letter-spacing:.08em;display:block;margin-bottom:10px}
.process-steps h3{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--fg-1);line-height:1.25}
.process-steps p{margin:0;font-size:14px;line-height:1.55;color:var(--fg-3)}

/* Autres solutions · horizontal scroller (drag desktop + swipe touch) */
.inner-related{background:var(--paper-50);padding:64px 0 72px}
.inner-related .sec-head{margin-bottom:20px}
.related-scroll-wrap{position:relative;display:block}
.related-scroll-wrap::before,.related-scroll-wrap::after{content:"";position:absolute;top:0;bottom:0;width:80px;pointer-events:none;z-index:5;opacity:0;transition:opacity 240ms var(--ease-out)}
.related-scroll-wrap::before{left:-1px;background:linear-gradient(to right,var(--paper-50),rgba(251,250,247,0))}
.related-scroll-wrap::after{right:-1px;background:linear-gradient(to left,var(--paper-50),rgba(251,250,247,0))}
.related-scroll-wrap.has-left::before{opacity:1}
.related-scroll-wrap.has-right::after{opacity:1}
.inner-related .thema-grid.related-thema{display:flex;grid-template-columns:none;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-padding-left:0;gap:18px;padding:4px 0;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none}
.inner-related .thema-grid.related-thema.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.inner-related .thema-grid.related-thema::-webkit-scrollbar{display:none;width:0;height:0}
.inner-related .related-thema .thema{flex:0 0 220px;width:220px;height:294px;aspect-ratio:auto;scroll-snap-align:start}
.inner-related .related-thema .num-chip{font-size:48cqw}
.inner-related .related-thema .info{padding:22px 22px 20px}
.inner-related .related-thema .info-text{display:block;padding-right:20px;color:inherit;text-decoration:none}
.inner-related .related-thema .info h3{font-size:17px}
.inner-related .related-thema .info .sub{font-size:12px}
.inner-related .related-thema .info-text:hover h3{color:var(--green-400)}
.inner-related .related-thema .arrow{top:14px;right:14px;width:36px;height:36px;text-decoration:none}
.inner-related .related-thema .thema{cursor:grab}
.inner-related .related-thema.no-overflow{cursor:default}
.inner-related .related-thema.no-overflow .thema{cursor:pointer}
.inner-related .related-thema .thema.dragging{cursor:grabbing}
.inner-related .related-thema .thema img{pointer-events:none;-webkit-user-drag:none;user-select:none}

/* CTA final */
.inner-cta{background:linear-gradient(160deg,var(--navy-925) 0%,var(--navy-950) 100%);color:#fff;padding:80px 0;text-align:center;position:relative;overflow:hidden;min-height:600px;display:grid;place-content:center;align-content:center}
.inner-cta > .container{width:100%}
.inner-cta .cta-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1100px,90vw);height:min(1100px,90vw);opacity:.28;z-index:0;pointer-events:none}
.inner-cta .cta-ring img{width:100%;height:100%;object-fit:contain;will-change:transform;transform-origin:50% 50%}
.inner-cta .container{position:relative;z-index:1}
.inner-cta h2{font-family:var(--font-display);font-size:clamp(36px,4.4vw,60px);font-weight:800;line-height:1.05;letter-spacing:-0.02em;margin:0 auto 24px;color:#fff;max-width:18ch}
.inner-cta .lead{font-size:18px;line-height:1.55;color:rgba(255,255,255,.8);max-width:54ch;margin:0 auto 40px}
.inner-cta .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.inner-cta .btn-ghost{background:rgba(255,255,255,.08);color:#fff;box-shadow:none;backdrop-filter:blur(8px)}
.inner-cta .btn-ghost:hover{background:var(--hover-green);color:#fff}

/* Responsive */
@media (max-width:1100px){
  .inner-hero-grid{grid-template-columns:1fr;gap:48px}
  .inner-hero-img{margin:0 auto;max-width:480px}
  .benefits-grid{grid-template-columns:repeat(2,1fr)}
  .bento-grid{column-count:3}
  .pillars-grid{grid-template-columns:repeat(2,1fr);gap:32px 24px}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-steps li:nth-child(2)::after{display:none}
}
@media (max-width:760px){
  .inner-hero{padding:110px 0 60px}
  .inner-hero-left h1{font-size:clamp(32px,8vw,48px)}
  .inner-benefits,.inner-pillars,.inner-process,.inner-related,.inner-cta{padding:72px 0}
  .inner-case{padding:80px 0}
  .case-grid{grid-template-columns:1fr;gap:40px}
  .bento-grid{column-count:2}
  .lb-prev,.lb-next{width:44px;height:44px}
  .lb-prev{left:8px} .lb-next{right:8px}
  .process-steps li::after{display:none!important}
  .related-grid{grid-template-columns:1fr}
  .case-stats{grid-template-columns:1fr;gap:14px}
}
@media (max-width:640px){
  .benefits-grid,.pillars-grid,.process-steps{grid-template-columns:1fr}
}
@media (max-width:320px){
  .bento-grid{column-count:1}
}

/* ===== Galerie : grille row-major (les images consécutives remplissent la 1re ligne) ===== */
.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bento-item{margin:0;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.bento-item img{width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:990px){ .bento-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:640px){ .bento-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:400px){ .bento-grid{grid-template-columns:1fr} }

/* ===== Hero solution : fil d'Ariane placé sous le menu, contenu centré en dessous ===== */
/* Fil d'Ariane dans le flux (plus en absolu) : le contenu ne peut plus remonter dessous */
.inner-hero{grid-template-rows:auto 1fr}
.inner-hero-crumb{position:relative;z-index:3;align-self:start;padding:12px 0 32px}
.inner-hero-body{align-self:center}
.inner-hero .breadcrumb{margin:0;flex-wrap:wrap;row-gap:4px}

/* Une colonne : texte et fil d'Ariane centrés, indicateur Scroll masqué (il recouvrait l'image) */
@media (max-width:1100px){
  .inner-hero .breadcrumb{justify-content:center}
  .inner-hero-left{margin:0 auto;text-align:center}
  .inner-hero-left .lead{margin-left:auto;margin-right:auto}
  .inner-hero-left .hero-actions{justify-content:center}
  .inner-hero .scroll-cue{display:none}
}

/* ===== Hero solution : taille de titre UNIQUE sur toutes les pages ===== */
.inner-hero-left{max-width:660px}
.inner-hero-left h1{font-size:clamp(28px,3vw,42px);line-height:1.14}
.inner-hero .breadcrumb{margin-top:0;margin-bottom:0}

/* Hero solution : retrait sous le menu (sur deux colonnes uniquement) */
@media (min-width:1101px) { .inner-hero-img { margin-top: 40px } }

/* Hero solution sur une colonne : fil d'Ariane à 20 px sous le menu (bas du menu : 97,5 px au-delà de 990 px, 94 px en dessous),
   sur-titre rapproché du titre */
@media (max-width:1100px) {
  .inner-hero { padding-top: 0 }
  .inner-hero-crumb { padding-top: 118px }
  .inner-hero-left h1 { margin-top: 10px }
}
@media (max-width:990px) { .inner-hero-crumb { padding-top: 114px } }

/* Lightbox : boutons fermer et flèches sur fond bleu nuit translucide + flou (lisibles sur une image claire), vert au survol comme les boutons d'action */
.lb-btn{z-index:2;background:rgba(3,24,43,.55);border:0;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 24px 60px -20px rgba(0,0,0,.5)}
.lb-btn:hover{background:var(--hover-green);color:#fff}
/* Survol : même taille (annule l'agrandissement de 5 %) */
.lb-btn:hover{transform:none}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%)}
/* Grand écran : marge réservée autour de l'image, les boutons (24 px du bord + 52 px) tombent à côté et non dessus */
@media (min-width:1400px){.lightbox-stage{width:min(1200px,calc(100vw - 208px));height:min(900px,calc(100vh - 208px))}}


/* Hero solution : l'image est déjà inclinée au chargement (1,5°) et oscille jusqu'à 3° (la dernière définition de l'animation l'emporte) */
@keyframes innerHeroFloat{0%{transform:translateY(0) rotate(1.5deg)}100%{transform:translateY(-18px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.inner-hero-img img{transform:rotate(1.5deg)}}

/* Hero solution : images agrandies de 10 % (497 → 547 px), remontées de 20 px par rapport au centre du texte (sur deux colonnes) */
.inner-hero-img img{max-width:min(100%,547px);max-height:min(547px,calc(79vh - 95px))}
@media (min-width:1101px){.inner-hero-img{margin-top:0;top:-20px}}
