/* Lux On — Page d'accueil : sections sous l'écran rotatif (Solutions, Logiciel, Méthode,
   Studio créatif, CTA final). N'affecte aucune autre page. Le hero, le header, le footer et
   la section de l'écran rotatif à 360° restent inchangés (voir index.html). */

/* ---------- Apparition au scroll (variante lente, dédiée à ces sections) ----------
   Réutilise l'observateur IntersectionObserver existant (.reveal), avec un timing propre. */
.home-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(0.22,1,0.36,1),transform .8s cubic-bezier(0.22,1,0.36,1);}
.home-reveal.visible{opacity:1;transform:none;}
.home-reveal.d1{transition-delay:.08s;}
.home-reveal.d2{transition-delay:.16s;}
.home-reveal.d3{transition-delay:.24s;}
.home-reveal.d4{transition-delay:.32s;}
@media (prefers-reduced-motion: reduce){ .home-reveal{transition:none;opacity:1;transform:none;} }

/* ---------- Bandeau unique sous "Un écran, en direct" (remplace les 2 cellules séparées) ---------- */
.home-hero-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;}
.home-hero-bar-item{display:flex;align-items:center;gap:0.9rem;flex:1 1 260px;}
.home-hero-bar-icon{width:30px;height:30px;flex-shrink:0;}
.home-hero-bar-item h3{font-size:0.95rem;color:var(--text);margin-bottom:0.2rem;}
.home-hero-bar-item p{font-size:0.85rem;color:var(--text-secondary);}
.home-hero-bar-sep{display:block;width:1px;align-self:stretch;background:var(--border);flex-shrink:0;}

@media(max-width:700px){
  .home-hero-bar{flex-direction:column;align-items:stretch;}
  .home-hero-bar-item{flex:none;}
  .home-hero-bar-sep{display:none;}
  .home-hero-bar-item:not(:first-child){border-top:1px solid var(--border);padding-top:1rem;margin-top:0.25rem;}
}

/* ---------- Section Solutions : composition imbriquée (intro + bloc principal / 2 blocs empilés) ---------- */
.home-solutions-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(1.1rem,2.5vw,1.5rem);align-items:stretch;}
.home-solutions-left{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2rem);}
.home-solutions-intro{max-width:640px;}
.home-solutions-cta{display:inline-flex;margin-top:1.5rem;}
.home-solutions-side{display:grid;grid-template-rows:1fr 1fr;gap:clamp(1.1rem,2.5vw,1.5rem);}
.home-solutions-main,.home-solutions-item{display:flex;flex-direction:column;position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--border);background:var(--card-bg-solid);box-shadow:0 20px 45px -32px rgba(11,18,32,0.25);transition:transform .3s ease,box-shadow .3s ease;}
.home-solutions-main:hover,.home-solutions-item:hover{transform:translateY(-3px);box-shadow:0 26px 55px -30px rgba(11,18,32,0.3);}
/* Bloc principal : occupe tout l'espace restant sous l'intro (imbriqué avec elle, même colonne) */
.home-solutions-main{flex:1;min-height:280px;}
.home-solutions-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.home-solutions-item img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;}
.home-solutions-caption{padding:clamp(1.25rem,3vw,1.75rem);}
.home-solutions-item .home-solutions-caption{padding:1rem 1.1rem;display:flex;flex-direction:column;justify-content:center;}
.home-solutions-caption h3{font-size:1.3rem;margin-bottom:0.4rem;color:var(--text);}
.home-solutions-item .home-solutions-caption h3{font-size:1.02rem;margin-bottom:0.3rem;}
.home-solutions-caption p{color:var(--text-secondary);font-size:0.92rem;max-width:420px;}
.home-solutions-item .home-solutions-caption p{font-size:0.82rem;}
.home-solutions-caption span{display:inline-flex;margin-top:0.75rem;font-weight:700;font-size:0.85rem;color:var(--text);}
.home-solutions-item .home-solutions-caption span{margin-top:0.5rem;font-size:0.78rem;}

/* Légende flottante, imbriquée sur l'image du bloc principal (comme la maquette) */
.home-solutions-caption--float{position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;max-width:360px;background:var(--card-bg-solid);border:1px solid var(--border);border-radius:20px;padding:1.25rem 1.5rem;backdrop-filter:blur(10px);box-shadow:0 20px 40px -18px rgba(11,18,32,0.4);}

@media(max-width:900px){
  .home-solutions-grid{grid-template-columns:1fr;}
  .home-solutions-main{flex:none;aspect-ratio:16/10;min-height:0;}
  .home-solutions-side{grid-template-rows:none;}
}

/* ---------- Sections immersives sombres (Logiciel / Studio créatif) ----------
   Toujours sombres, dans les deux DA : leurs visuels ont été conçus pour un fond bleu nuit. */
.home-dark-block{position:relative;border-radius:32px;overflow:hidden;background:#0B1220;}
.home-dark-block-img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;}
.home-dark-block--wide .home-dark-block-img{aspect-ratio:1961/802;}
.home-dark-block--wide .home-dark-block-copy h2{font-size:clamp(2.2rem,4.2vw,3.4rem);}
.home-dark-block-copy{position:absolute;top:0;left:0;height:100%;width:min(50%,540px);display:flex;flex-direction:column;justify-content:center;gap:0.1rem;padding:clamp(1.5rem,4vw,3rem);}
.home-dark-block-copy .label{color:rgba(255,255,255,0.55);}
.home-dark-block-copy h2{color:#fff;margin-top:0.5rem;font-size:clamp(2rem,3.8vw,3.1rem);}
.home-dark-block-copy p{color:rgba(255,255,255,0.72);margin-top:0.9rem;font-size:1.08rem;max-width:400px;}
.home-dark-block-copy .btn{margin-top:1.5rem;align-self:flex-start;}
.home-dark-block-copy .btn-primary{background:#fff;color:#0B1220;}
.home-dark-block-copy .btn-primary:hover{opacity:.88;}

/* Carte logiciel : image + bénéfices réunis dans un même bloc sombre, taille maîtrisée */
.home-software-card{background:#0B1220;border-radius:32px;overflow:hidden;}
.home-software-card .home-dark-block--nested{border-radius:0;background:transparent;}

@media(max-width:700px){
  .home-dark-block{border-radius:24px;}
  .home-dark-block-copy{position:static;width:auto;height:auto;padding:clamp(1.5rem,6vw,2rem);background:#0B1220;}
  .home-dark-block-img{aspect-ratio:4/3;}
  .home-dark-block--wide .home-dark-block-img{aspect-ratio:3/2;}
}

/* ---------- Bénéfices logiciel (ligne compacte, pas de cartes) ---------- */
.home-benefits-row{display:flex;flex-wrap:wrap;gap:1.5rem 0;padding:clamp(1.5rem,3vw,2rem) clamp(1.5rem,4vw,3rem);border-top:1px solid rgba(255,255,255,0.1);}
.home-benefit{flex:1 1 220px;display:flex;align-items:flex-start;gap:0.75rem;padding:0 1.5rem;position:relative;}
.home-benefit:first-child{padding-left:0;}
.home-benefit-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:#fff;}
.home-benefit-icon svg{width:18px;height:18px;}
.home-benefit h3{color:#fff;font-size:0.95rem;margin-bottom:0.25rem;}
.home-benefit p{color:rgba(255,255,255,0.65);font-size:0.85rem;line-height:1.4;}
.home-benefit-sep{display:block;width:1px;align-self:stretch;background:rgba(255,255,255,0.14);flex-shrink:0;}

@media(max-width:760px){
  .home-benefits-row{flex-direction:column;gap:0;padding:1.25rem clamp(1.5rem,6vw,2rem);}
  .home-benefit{flex:none;padding:1.1rem 0;border-top:1px solid rgba(255,255,255,0.12);}
  .home-benefit:first-child{border-top:none;padding-top:0;}
  .home-benefit-sep{display:none;}
}

/* ---------- Méthode (parcours horizontal + 3 bénéfices) ---------- */
.home-method-intro{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:flex-end;margin-bottom:clamp(2rem,4vw,2.75rem);}
.home-method-intro .home-method-heading{max-width:460px;}
.home-method-intro p{color:var(--text-secondary);max-width:420px;font-size:0.95rem;}
.home-method-steps{display:flex;align-items:flex-start;gap:0;position:relative;}
.home-method-step{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:0.6rem;padding-right:1.25rem;position:relative;}
.home-method-step-top{display:flex;align-items:center;width:100%;}
.home-method-step-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.home-method-step-icon svg{width:19px;height:19px;}
.home-method-step h3{font-size:0.95rem;color:var(--text);}
.home-method-step p{font-size:0.8rem;color:var(--text-secondary);line-height:1.4;}
.home-method-arrow{flex:1 1 auto;height:1px;background:var(--border);margin-left:0.6rem;position:relative;min-width:12px;}
.home-method-arrow::after{content:'';position:absolute;right:0;top:50%;width:5px;height:5px;border-top:1px solid var(--text-secondary);border-right:1px solid var(--text-secondary);transform:translateY(-50%) rotate(45deg);}

@media(max-width:860px){
  .home-method-steps{flex-direction:column;gap:1.5rem;}
  .home-method-step{padding-right:0;}
  .home-method-arrow{display:none;}
}

/* ---------- CTA final : visuel issu du hero (image fixe, pas de vidéo) ---------- */
.home-final-cta{position:relative;overflow:hidden;padding:clamp(3rem,7vw,5rem) 0;}
.home-final-cta-visual{position:absolute;inset:0;z-index:0;}
.home-final-cta-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% 70%;transition:opacity .4s ease;}
.home-final-cta-img-light{opacity:0;}
:root[data-theme="light"] .home-final-cta-img-dark{opacity:0;}
:root[data-theme="light"] .home-final-cta-img-light{opacity:1;}
.home-final-cta-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,var(--bg) 0%,var(--bg) 18%,transparent 60%);pointer-events:none;}
.home-final-cta-inner{position:relative;z-index:2;}
.home-final-cta-copy{max-width:520px;}
.home-final-cta-copy h2{font-size:clamp(1.9rem,4vw,3rem);}
.home-final-cta-copy p{color:var(--text-secondary);margin-top:1rem;font-size:1rem;max-width:460px;}
.home-final-cta-copy .cta-final-actions{justify-content:flex-start;margin-top:1.75rem;}

@media (prefers-reduced-motion: reduce){ .home-final-cta-img{transition:none;} }
@media(max-width:700px){
  .home-final-cta-scrim{background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 38%,transparent 78%);}
  .home-final-cta-copy{max-width:100%;}
}

@media(max-width:767px){
  .home-final-cta{padding-left:1.25rem;padding-right:1.25rem;}
}
