/* ============================================================================
   DataAuthority — homepage BUILD 1
   Fichier chargé UNIQUEMENT par /index.html (voir le <link> dans index.html).
   Aucune règle de /styles.css n'est modifiée : ce fichier ne fait qu'ajouter
   des règles scopées sur body.da-home-page et des classes préfixées da-home-.
   Palette et proportions issues des maquettes de
   dataauthority_home_library_2026-09-27/images (échantillonnage pixel réel).
   ============================================================================ */

/* --- 1. Jetons locaux + fond de page --------------------------------------- */

body.da-home-page{
  --da-home-bg:#FBFAF7;
  --da-home-bg-soft:#F6F2F0;
  --da-home-ink:#0D0D0D;
  --da-home-muted:#3E3A41;
  --da-home-muted-2:#6E6870;
  --da-home-line:#E4DFE1;
  --da-home-line-2:#CDC5CA;
  --da-home-accent:#F0268F;
  --da-home-accent-deep:#C2116B;
  --da-home-pink:#FD81D3;
  --da-home-pink-soft:#FEE3F5;
  --da-home-plate:#0D0D0D;
  --da-home-r:2px;
  --da-home-wrap:1240px;
  --da-home-pad:clamp(20px,4vw,64px);
  --da-home-sec:clamp(76px,11vh,152px);
  background:var(--da-home-bg);
  color:var(--da-home-ink);
  font-family:Inter,"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}

body.da-home-page ::selection{background:var(--da-home-pink-soft);color:var(--da-home-ink)}

.da-home-wrap{
  width:100%;
  max-width:var(--da-home-wrap);
  margin-inline:auto;
  padding-inline:var(--da-home-pad);
}

.da-home-main{display:block;overflow-x:clip}

/* --- 2. Header et footer partagés : ajustements visuels scope homepage ------ */
/* La structure HTML du header et du footer n'est pas touchée. Seuls les
   couleurs et espacements sont adaptés au fond clair de la homepage.        */

body.da-home-page .site-header{
  background:rgba(251,250,247,.9);
  border-bottom:1px solid var(--da-home-line);
  backdrop-filter:blur(12px);
}
body.da-home-page .header-inner{min-height:78px}

/* Le logo actuel est dessiné pour un fond sombre (wordmark #EAF5FF) :
   sur fond clair il devient invisible. On le conserve à l'identique en le
   posant sur une petite plaque noire, plutôt que de le recolorer. */
body.da-home-page .brand{
  background:var(--da-home-plate);
  padding:6px 11px 6px 9px;
  border-radius:var(--da-home-r);
}
body.da-home-page .brand-logo{width:min(206px,42vw);height:40px}

body.da-home-page .nav-link{color:var(--da-home-muted);font-weight:700;letter-spacing:.01em}
body.da-home-page .nav-link.active,
body.da-home-page .nav-link:hover{color:var(--da-home-accent-deep)}
body.da-home-page .nav-link.active:after{background:var(--da-home-accent)}
body.da-home-page .header-cta{
  color:var(--da-home-accent-deep);
  border-color:var(--da-home-line-2);
  background:transparent;
}
body.da-home-page .header-cta:hover{border-color:var(--da-home-accent)}

body.da-home-page .site-footer{
  background:var(--da-home-plate);
  border-top-color:#1F1B1E;
  color:#F3EFEE;
}
body.da-home-page .site-footer a{color:#CFC7CB}
body.da-home-page .site-footer a:hover{color:#fff}
body.da-home-page .footer-brand,
body.da-home-page .footer-title{color:#fff}
body.da-home-page .site-footer .muted{color:#9A9298}
body.da-home-page .footer-cta{color:var(--da-home-pink)!important}

/* --- 3. Rythme éditorial : rail, sections, titres, texte ------------------- */

.da-home-sec{padding-block:var(--da-home-sec);position:relative}
.da-home-sec--alt{background:var(--da-home-bg-soft)}

.da-home-rail{
  display:flex;align-items:center;gap:14px;
  color:var(--da-home-muted-2);
  font-size:.7rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:clamp(26px,4vw,52px);
}
.da-home-rail:after{
  content:"";flex:1;height:1px;background:var(--da-home-line);
}
.da-home-rail b{color:var(--da-home-accent);font-weight:800}
.da-home-rail i{font-style:normal;color:var(--da-home-line-2);font-size:.85rem}

.da-home-h1{
  margin:0;
  /* V7 : les lignes du titre restaient ~1050 px de large à 1440 px.
     On resserre l'échelle pour rester sous ~900 px sans changer le dessin. */
  font-size:clamp(2.2rem,6.2vw,4.7rem);
  max-width:900px;
  line-height:1.0;
  font-weight:850;
  letter-spacing:-.028em;
  text-transform:none;
  text-wrap:balance;
  overflow-wrap:break-word;
  hyphens:none;
}
/* le manifeste tient sur trois lignes en desktop ; sur petit écran les
   segments redeviennent un flux de texte équilibré (pas de ligne orpheline) */
.da-home-h1-l{display:block}
.da-home-h2{
  margin:0 0 clamp(18px,2.4vw,28px);
  /* >= h2 des pages internes (clamp(1.8rem,3.7vw,3.1rem)) : la homepage
     doit garder la hiérarchie la plus haute à toutes les largeurs. */
  font-size:clamp(1.8rem,3.8vw,3.15rem);
  line-height:1.06;
  font-weight:850;
  letter-spacing:-.022em;
  /* évite une dernière ligne d'un seul mot quand le titre se replie
     dans une colonne étroite */
  text-wrap:balance;
  overflow-wrap:break-word;
  hyphens:none;
}
.da-home-lead{
  margin:0;
  max-width:58ch;
  color:var(--da-home-muted);
  font-size:clamp(1rem,1.35vw,1.16rem);
  line-height:1.62;
}
.da-home-lead--hero{max-width:52ch;font-size:clamp(1.02rem,1.5vw,1.22rem)}

.da-home-sec-head{padding-inline:var(--da-home-pad);max-width:var(--da-home-wrap);margin-inline:auto}

/* --- 4. Actions ------------------------------------------------------------ */

.da-home-actions{
  display:flex;flex-wrap:wrap;gap:14px 26px;
  align-items:center;
  margin:clamp(30px,4vw,48px) 0 0;
}
.da-home-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 20px;
  border-radius:var(--da-home-r);
  background:var(--da-home-ink);
  color:#FBFAF7;
  font-size:.79rem;font-weight:800;
  letter-spacing:.11em;text-transform:uppercase;
  text-decoration:none;
  transition:transform .18s ease,background-color .18s ease;
}
.da-home-btn:hover{background:var(--da-home-accent-deep);text-decoration:none;transform:translateY(-1px)}
.da-home-btn span{font-size:.95rem;line-height:1}
.da-home-btn--ghost{
  background:transparent;color:var(--da-home-ink);
  border:1px solid var(--da-home-line-2);
  padding:12px 18px;
}
.da-home-btn--ghost:hover{background:transparent;border-color:var(--da-home-accent);color:var(--da-home-accent-deep)}
.da-home-link{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--da-home-accent-deep);
  font-weight:750;font-size:.94rem;
  text-decoration:none;
  border-bottom:1px solid rgba(194,17,107,.32);
  padding-bottom:2px;
}
.da-home-link:hover{border-bottom-color:var(--da-home-accent-deep);text-decoration:none}
.da-home-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:clamp(20px,2.6vw,30px) 0 0}

/* --- 5. Motif petits carrés / matrices ------------------------------------ */

.da-home-mx{display:grid;gap:4px;width:100%}
.da-home-mx--3{grid-template-columns:repeat(3,1fr)}
.da-home-mx--4{grid-template-columns:repeat(4,1fr)}
.da-home-mx--6{grid-template-columns:repeat(6,1fr)}
.da-home-mx--8{grid-template-columns:repeat(8,1fr)}
.da-home-cell{
  aspect-ratio:1/1;
  background:#fff;
  border:1px solid var(--da-home-line);
  border-radius:1px;
}
.da-home-cell--on{background:var(--da-home-ink);border-color:var(--da-home-ink)}
.da-home-cell--accent{background:var(--da-home-accent);border-color:var(--da-home-accent)}
.da-home-cell--soft{background:var(--da-home-pink-soft);border-color:#F6CCE6}
.da-home-cell--void{background:transparent;border:1px dashed var(--da-home-line-2)}
/* état changé : la case garde sa forme mais perd sa valeur */
.da-home-cell--changed{background:#fff;border:1px solid var(--da-home-accent);box-shadow:inset 0 0 0 2px var(--da-home-pink-soft)}

/* --- 6. Petites fenêtres techniques --------------------------------------- */

.da-home-win{
  border:1px solid var(--da-home-line);
  border-radius:var(--da-home-r);
  background:#fff;
}
.da-home-win-bar{
  display:flex;align-items:center;gap:6px;
  padding:8px 10px;
  border-bottom:1px solid var(--da-home-line);
  background:var(--da-home-bg-soft);
}
.da-home-win-bar i{width:6px;height:6px;background:var(--da-home-line-2);border-radius:1px;display:block}
.da-home-win-bar i:first-child{background:var(--da-home-accent);opacity:.55}
.da-home-win-bar span{
  margin-left:auto;
  font-size:.63rem;font-weight:800;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--da-home-muted-2);
}
.da-home-win-body{padding:clamp(14px,1.8vw,20px)}
.da-home-win-cap{
  margin:0 0 12px;
  font-size:.63rem;font-weight:800;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--da-home-muted-2);
}
.da-home-win--plate{background:var(--da-home-plate);border-color:#262124}
.da-home-win--plate .da-home-win-bar{background:#171315;border-bottom-color:#262124}
.da-home-win--plate .da-home-win-bar span,
.da-home-win--plate .da-home-win-cap{color:#B7AEB4}
.da-home-win--plate .da-home-cell{background:#171315;border-color:#332C30}
.da-home-win--plate .da-home-cell--on{background:#F3EFEE;border-color:#F3EFEE}
.da-home-win--plate .da-home-cell--void{background:transparent;border-color:#4A4146}

/* lignes d'index (source / date / parcours / limites) */
.da-home-rows{display:grid;gap:0;margin:0;padding:0;list-style:none}
.da-home-rows li{
  display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:baseline;
  padding:9px 0;
  border-top:1px solid var(--da-home-line);
  font-size:.85rem;color:var(--da-home-muted);
}
.da-home-rows li:last-child{border-bottom:1px solid var(--da-home-line)}
.da-home-rows b{
  font-size:.63rem;font-weight:800;
  letter-spacing:.13em;text-transform:uppercase;
  color:var(--da-home-muted-2);
}
.da-home-win--plate .da-home-rows li{border-color:#262124;color:#CFC7CB}
.da-home-win--plate .da-home-rows b{color:#9A9298}

/* --- 7. Nuages, points, repères + ---------------------------------------- */

.da-home-hero{position:relative;padding-top:clamp(30px,4vw,56px);padding-bottom:var(--da-home-sec)}
.da-home-art{
  position:relative;
  height:clamp(168px,23vw,300px);
  margin-bottom:clamp(24px,3.4vw,52px);
  overflow:hidden;
}
.da-home-cloud{
  position:absolute;
  border-radius:50%;
  filter:blur(30px);
  pointer-events:none;
}
.da-home-cloud--a{
  left:-4%;top:-30%;width:38%;height:150%;
  background:radial-gradient(closest-side,var(--da-home-pink) 0%,rgba(253,129,211,.45) 52%,transparent 100%);
  opacity:.62;
  animation:da-home-drift-a 58s ease-in-out infinite alternate;
}
.da-home-cloud--b{
  right:-2%;top:-46%;width:34%;height:170%;
  background:radial-gradient(closest-side,rgba(243,25,138,.55) 0%,rgba(253,129,211,.4) 55%,transparent 100%);
  opacity:.5;
  animation:da-home-drift-b 74s ease-in-out infinite alternate;
}
/* canal central volontairement vide, comme sur les maquettes :
   la trame n'apparaît que sur les deux masses latérales */
.da-home-art-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(to right,rgba(13,13,13,.075) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(13,13,13,.075) 1px,transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:linear-gradient(90deg,#000,#000 24%,transparent 45%,transparent 55%,#000 76%,#000),
                     linear-gradient(180deg,transparent,#000 22%,#000 68%,transparent);
  mask-image:linear-gradient(90deg,#000,#000 24%,transparent 45%,transparent 55%,#000 76%,#000),
             linear-gradient(180deg,transparent,#000 22%,#000 68%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
/* couche alignée sur le conteneur : les éléments techniques suivent la même
   marge gauche que les textes, même sur très grand écran */
.da-home-art-inner{
  position:absolute;inset:0;
  width:100%;max-width:var(--da-home-wrap);
  margin-inline:auto;
  padding-inline:var(--da-home-pad);
  pointer-events:none;
}
.da-home-dots{position:absolute;inset:0}
.da-home-dots i{
  position:absolute;
  width:4px;height:4px;
  background:var(--da-home-ink);
  opacity:.22;
  animation:da-home-twinkle 11s ease-in-out infinite;
}
.da-home-dots i:nth-child(1){left:8%;top:24%}
.da-home-dots i:nth-child(2){left:13%;top:66%;animation-delay:-1.4s}
.da-home-dots i:nth-child(3){left:19%;top:38%;animation-delay:-2.8s}
.da-home-dots i:nth-child(4){left:24%;top:78%;animation-delay:-4.2s}
.da-home-dots i:nth-child(5){left:30%;top:18%;animation-delay:-5.6s}
.da-home-dots i:nth-child(6){left:35%;top:56%;animation-delay:-7s}
.da-home-dots i:nth-child(7){left:44%;top:30%;animation-delay:-8.4s}
.da-home-dots i:nth-child(8){left:52%;top:70%;animation-delay:-9.8s}
.da-home-dots i:nth-child(9){left:60%;top:22%;animation-delay:-3.5s}
.da-home-dots i:nth-child(10){left:66%;top:60%;animation-delay:-6.3s}
.da-home-dots i:nth-child(11){left:73%;top:34%;animation-delay:-2.1s}
.da-home-dots i:nth-child(12){left:79%;top:74%;animation-delay:-9.1s}
.da-home-dots i:nth-child(13){left:85%;top:26%;animation-delay:-4.9s}
.da-home-dots i:nth-child(14){left:91%;top:58%;animation-delay:-7.7s}
.da-home-dots i:nth-child(15){left:16%;top:52%;animation-delay:-10.5s}
.da-home-dots i:nth-child(16){left:69%;top:82%;animation-delay:-1.9s}

.da-home-plus{
  position:absolute;
  color:var(--da-home-line-2);
  font-size:1rem;line-height:1;
  font-weight:400;
  pointer-events:none;
}
.da-home-plus--a{left:var(--da-home-pad);top:12%}
.da-home-plus--b{right:var(--da-home-pad);top:20%}
.da-home-plus--c{right:22%;bottom:14%}

.da-home-cube{position:absolute;right:var(--da-home-pad);top:6%;width:clamp(74px,8vw,116px);opacity:.5}
.da-home-cube svg{display:block;width:100%;height:auto}

.da-home-art-win{
  position:absolute;
  left:var(--da-home-pad);bottom:0;
  width:clamp(190px,25vw,286px);
}
.da-home-art-win .da-home-win-body{padding:12px 14px}

/* --- 8. Grille hero ------------------------------------------------------- */

.da-home-hero-body,
.da-home-split{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:clamp(30px,5vw,72px);
  align-items:start;
}
/* le H1 occupe toute la largeur ; le texte courant et le panneau se
   partagent la largeur en dessous, comme sur les maquettes */
.da-home-hero-body{margin-top:clamp(28px,3.6vw,54px)}
.da-home-hero-aside{display:grid;gap:18px}

/* légende des carrés (section « ce qui manque ») */
.da-home-voidgrid{max-width:820px;margin-top:clamp(30px,3.6vw,50px)}
.da-home-legend{
  display:flex;flex-wrap:wrap;gap:10px 26px;
  margin:clamp(18px,2.4vw,26px) 0 0;padding:0;list-style:none;
  font-size:.8rem;color:var(--da-home-muted);
}
.da-home-legend li{display:flex;align-items:center;gap:9px}
.da-home-sw{
  width:14px;height:14px;flex:0 0 auto;
  background:var(--da-home-ink);
  border:1px solid var(--da-home-ink);
  border-radius:1px;
}
.da-home-sw--void{background:transparent;border:1px dashed var(--da-home-line-2)}

/* --- 9. Flux source → transformation → sortie ---------------------------- */

.da-home-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,28px);
  align-items:stretch;
  margin:clamp(30px,4vw,52px) 0 0;
}
.da-home-flow-step{position:relative}
.da-home-flow-step:not(:last-child):after{
  content:"→";
  position:absolute;right:calc(-1 * clamp(7px,1vw,14px) - 8px);top:50%;
  transform:translateY(-50%);
  color:var(--da-home-accent);
  font-size:1rem;
}
.da-home-flow-note{
  margin:12px 0 0;
  font-size:.7rem;font-weight:800;
  letter-spacing:.13em;text-transform:uppercase;
  color:var(--da-home-muted-2);
}
.da-home-flow-note b{color:var(--da-home-accent-deep)}

/* --- 10. Bloc preuve ------------------------------------------------------ */

.da-home-proof{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,52px);
  align-items:start;
  margin-top:clamp(28px,3.4vw,46px);
}
.da-home-proof .da-home-win-body{padding:clamp(18px,2.2vw,26px)}

/* --- 11. Animations très légères (transform / opacity uniquement) -------- */

@keyframes da-home-drift-a{
  from{transform:translate3d(-3%,0,0) scale(1)}
  to{transform:translate3d(5%,-4%,0) scale(1.09)}
}
@keyframes da-home-drift-b{
  from{transform:translate3d(4%,2%,0) scale(1.06)}
  to{transform:translate3d(-5%,-3%,0) scale(1)}
}
@keyframes da-home-twinkle{
  0%,100%{opacity:.14}
  50%{opacity:.4}
}

/* --- 12. Navigation mobile (homepage uniquement) ------------------------- */
/* styles.css masque .top-nav sous 900px sans solution de remplacement.
   Ici, sur la homepage seulement, la navigation reste affichée et passe
   sur une ligne dédiée : aucun JavaScript, aucun changement de structure. */

@media (max-width:900px){
  body.da-home-page .header-inner{flex-wrap:wrap;gap:10px 16px;padding-block:11px}
  body.da-home-page .top-nav{
    display:flex;flex-wrap:wrap;
    width:100%;order:3;
    gap:9px 20px;
    padding-top:11px;
    border-top:1px solid var(--da-home-line);
  }
  body.da-home-page .nav-link{
    font-size:.76rem;font-weight:800;
    letter-spacing:.09em;text-transform:uppercase;
  }
  body.da-home-page .nav-link.active:after{bottom:-5px;height:1px}
  body.da-home-page .site-header{position:static}
}

/* --- 13. Responsive ------------------------------------------------------- */

@media (max-width:1080px){
  .da-home-hero-body,
  .da-home-split{grid-template-columns:1fr}
  .da-home-hero-aside{grid-template-columns:repeat(2,minmax(0,1fr))}
  .da-home-proof{grid-template-columns:1fr}
}

@media (max-width:860px){
  .da-home-flow{grid-template-columns:1fr;gap:22px}
  .da-home-flow-step:not(:last-child):after{
    right:auto;left:50%;top:auto;bottom:calc(-1 * 22px);
    transform:translateX(-50%) rotate(90deg);
  }
  .da-home-hero-aside{grid-template-columns:1fr}
  .da-home-art{height:clamp(140px,34vw,220px)}
  .da-home-cube{top:4%;right:var(--da-home-pad)}
}

@media (max-width:620px){
  body.da-home-page .brand-logo{width:min(178px,52vw);height:34px}
  body.da-home-page{--da-home-pad:18px}
  .da-home-h1{font-size:clamp(2.15rem,11vw,3.15rem);line-height:1.03}
  .da-home-h1-l{display:inline}
  .da-home-h2{font-size:clamp(1.85rem,7vw,2.4rem)}
  /* Footer : densité mobile (54px de padding + 34px de gap + liens 16px
     faisaient 857px de haut sur un écran de 844px). */
  body.da-home-page .site-footer{padding:34px 0}
  body.da-home-page .footer-grid{gap:20px}
  body.da-home-page .footer-brand{font-size:1rem;margin-bottom:8px}
  body.da-home-page .site-footer a{font-size:.88rem;line-height:1.45;margin:5px 0}
  body.da-home-page .site-footer .muted{font-size:.88rem;line-height:1.5}
  .da-home-rail{font-size:.62rem;letter-spacing:.12em}
  .da-home-btn{width:100%;justify-content:space-between}
  .da-home-actions{gap:10px}
  .da-home-rows li{grid-template-columns:64px 1fr;gap:10px}
  .da-home-art-win{width:min(210px,74%)}
}

/* --- 14. Mouvement réduit ------------------------------------------------- */
/* Aucun mouvement, aucune transition : l'état par défaut reste lisible. */

@media (prefers-reduced-motion:reduce){
  body.da-home-page *,
  body.da-home-page *:before,
  body.da-home-page *:after{
    animation:none!important;
    transition:none!important;
  }
  .da-home-cloud--a{opacity:.5}
  .da-home-cloud--b{opacity:.42}
  .da-home-dots i{opacity:.2}
}

/* --- Moteur DataAuthority : teaser intégré à la section Preuve -------------- */
.da-home-engine{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,5vw,72px);margin-top:clamp(42px,6vw,78px);padding:clamp(24px,3.4vw,42px);border:1px solid var(--da-home-line);background:#fff}
.da-home-engine > div{max-width:760px}.da-home-engine-kicker{margin:0 0 10px;color:var(--da-home-accent-deep);font-size:.7rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.da-home-engine h3{margin:0 0 12px;color:var(--da-home-ink);font-size:clamp(1.45rem,2.8vw,2.35rem);line-height:1.04;letter-spacing:-.025em}.da-home-engine p:not(.da-home-engine-kicker){max-width:62ch;margin:0;color:var(--da-home-muted);line-height:1.65}
@media(max-width:760px){.da-home-engine{display:grid}.da-home-engine .da-home-btn{width:100%;justify-content:space-between}}

/* --- 15. Bandeau d'ancres sous le hero ------------------------------------- */
/* Groupe de liens secondaires vers les sections existantes. Volontairement
   discret (texte courant, petite taille, trait fin) : il ne doit pas
   concurrencer le CTA principal « Proposer un jeu de données ». */
.da-home-anchors{
  background:var(--da-home-bg);
  border-bottom:1px solid var(--da-home-line);
}
.da-home-anchors .da-home-wrap{
  display:flex;flex-wrap:wrap;align-items:baseline;
  gap:8px clamp(18px,3vw,34px);
  padding-block:clamp(13px,1.7vw,19px);
}
.da-home-anchors-label{
  margin:0;flex:0 0 auto;
  color:var(--da-home-muted-2);
  font-size:.66rem;font-weight:800;
  letter-spacing:.15em;text-transform:uppercase;
}
.da-home-anchors-list{
  display:flex;flex-wrap:wrap;
  gap:8px clamp(18px,3vw,30px);
  margin:0;padding:0;list-style:none;
}
.da-home-anchors-list a{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--da-home-muted);
  font-size:.9rem;font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--da-home-line-2);
  padding-bottom:2px;
}
.da-home-anchors-list a:hover{
  color:var(--da-home-accent-deep);
  border-bottom-color:var(--da-home-accent);
  text-decoration:none;
}
@media(max-width:620px){
  .da-home-anchors-label{flex-basis:100%}
}

/* --- 16. Pipeline public du moteur (section « Le moteur ») ----------------- */
/* Sept étapes lisibles : sources → fusion → atomisation → règles
   d'interprétation → preuves / provenance → interrogation → résultat.
   Présenté comme une liste ordonnée de pastilles : aucun texte long, donc
   aucun risque de largeur de ligne ni de débordement sur petit écran. */

.da-home-pipe{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:10px clamp(10px,1.5vw,16px);
  margin:clamp(28px,3.6vw,44px) 0 0;padding:0;list-style:none;
}
.da-home-pipe-step{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 13px;
  border:1px solid var(--da-home-line-2);
  background:#fff;
  color:var(--da-home-ink);
  font-size:.72rem;font-weight:800;
  letter-spacing:.13em;text-transform:uppercase;
  line-height:1.2;
}
.da-home-pipe-step:before{
  content:"";display:block;flex:0 0 auto;
  width:9px;height:9px;background:var(--da-home-ink);
}
.da-home-pipe-step--strong{background:var(--da-home-ink);border-color:var(--da-home-ink);color:#fff}
.da-home-pipe-step--strong:before{background:var(--da-home-pink)}
.da-home-pipe-step--accent{background:var(--da-home-pink-soft);border-color:var(--da-home-accent);color:var(--da-home-accent-deep)}
.da-home-pipe-step--accent:before{background:var(--da-home-accent)}

@media(max-width:620px){
  .da-home-pipe{gap:8px}
  .da-home-pipe-step{font-size:.66rem;letter-spacing:.1em;padding:8px 11px}
}

/* --- 17. Présentation 3D : bouton d'entrée et surcouche plein écran ------- */
/* Le bouton est un vrai lien HTML vers /presentation-3d/. Il reste visible
   quand la navigation principale passe en mode mobile. */
body.da-home-page .header-cinema{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;padding:0 14px;
  border:1px solid rgba(240,38,143,.34);
  border-radius:999px;background:rgba(240,38,143,.06);
  color:var(--da-home-accent-deep);
  font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;
  white-space:nowrap;text-decoration:none;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
body.da-home-page .header-cinema:hover{
  background:var(--da-home-accent);border-color:var(--da-home-accent);
  color:#fff;text-decoration:none;transform:translateY(-1px);
}
body.da-home-page .header-cinema svg{width:15px;height:15px;flex:none}
body.da-home-page .header-cinema-short{display:none}
body.da-home-page .header-cta{white-space:nowrap}
@media(max-width:1500px){
  body.da-home-page .header-inner{gap:14px}
  body.da-home-page .top-nav{gap:18px}
  body.da-home-page .header-cinema{padding:0 11px;font-size:.68rem}
  body.da-home-page .header-cta{padding:0 13px}
}
@media(max-width:1180px){
  body.da-home-page .header-cinema{padding:0 11px;font-size:.68rem}
}
@media(max-width:900px){
  body.da-home-page .header-inner{gap:10px}
  body.da-home-page .header-cinema{min-height:36px}
}
@media(max-width:420px){
  body.da-home-page .header-cinema-full{display:none}
  body.da-home-page .header-cinema-short{display:inline}
  body.da-home-page .header-cinema{padding:0 11px;min-height:40px}
}

body.da-cinema-lock{overflow:hidden}
.da-cinema-overlay{
  position:fixed;inset:0;z-index:9999;
  background:#08090e;color:#fbfaff;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .5s ease,visibility .5s ease;
  font-family:Inter,"Helvetica Neue",Helvetica,Arial,ui-sans-serif,system-ui,sans-serif;
}
.da-cinema-overlay[hidden]{display:none!important}
.da-cinema-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.da-cinema-overlay.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.da-cinema-frame{
  position:absolute;inset:0;width:100%;height:100%;border:0;
  background:#08090e;opacity:0;transition:opacity .55s ease;
}
.da-cinema-overlay.is-ready .da-cinema-frame{opacity:1}
.da-cinema-loader{
  position:absolute;inset:0;z-index:2;
  display:grid;place-content:center;justify-items:center;
  padding:24px;text-align:center;
  background:radial-gradient(ellipse 52% 62% at 50% 44%,#2a1123 0%,#150e1a 44%,transparent 78%),#08090e;
  transition:opacity .55s ease,visibility .55s ease;
}
.da-cinema-loader:before{
  content:"";position:absolute;inset:0;opacity:.13;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:radial-gradient(ellipse at center,black,transparent 74%);
}
.da-cinema-overlay.is-ready .da-cinema-loader{opacity:0;visibility:hidden;pointer-events:none}
.da-cinema-loader-mark{width:46px;height:46px;filter:drop-shadow(0 0 18px rgba(240,32,145,.35));margin-bottom:20px;position:relative}
.da-cinema-loader-brand{margin:0 0 10px;font-size:clamp(20px,2.2vw,28px);font-weight:800;letter-spacing:-.045em;position:relative}
.da-cinema-loader-text{margin:0 0 18px;color:#c2c0ce;font-size:13px;letter-spacing:.04em;position:relative}
.da-cinema-loader-bar{display:block;width:min(230px,60vw);height:2px;background:rgba(255,255,255,.14);overflow:hidden;position:relative;margin-bottom:26px}
.da-cinema-loader-bar i{display:block;width:38%;height:100%;background:#f02091;box-shadow:0 0 14px #f02091;animation:da-cinema-load 1.25s cubic-bezier(.4,0,.2,1) infinite}
@keyframes da-cinema-load{0%{transform:translateX(-110%)}55%{transform:translateX(170%)}100%{transform:translateX(170%)}}
.da-cinema-loader-skip{
  position:relative;border:1px solid rgba(240,32,145,.45);border-radius:50px;
  background:rgba(240,32,145,.1);color:#fff;padding:13px 20px;
  font:inherit;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  cursor:pointer;transition:background .22s ease,border-color .22s ease,transform .22s ease;
}
.da-cinema-loader-skip:hover{background:#f02091;border-color:#f02091;transform:translateY(-2px)}
.da-cinema-loader-skip:focus-visible{outline:2px solid #f99bcf;outline-offset:5px}
.da-cinema-overlay.is-error .da-cinema-loader-text{color:#ffb3cf}
.da-cinema-overlay.is-slow .da-cinema-loader-bar i{animation-duration:2.2s}
@media(max-width:620px){
  .da-cinema-loader{padding:22px}
  .da-cinema-loader-mark{width:40px;height:40px}
  .da-cinema-loader-text{max-width:280px;line-height:1.6}
  .da-cinema-loader-skip{padding:12px 16px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .da-cinema-overlay,.da-cinema-frame,.da-cinema-loader,.da-cinema-loader-skip{transition:none}
  .da-cinema-loader-bar i{animation:none;width:100%}
}
