/* ===== HOME — layout propre à l'accueil (hero + constellation) ===== */

/* -- Hero : split asymétrique, ~1 écran -- */
.hero{ min-height:calc(100vh - var(--header-h)); min-height:calc(100svh - var(--header-h));
  display:flex; align-items:center; }
.hero-inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4.5rem); align-items:center;
  width:100%; padding-block:clamp(3rem,6vw,5rem); }
.hero-copy h1{ margin:.4rem 0 1.2rem; max-width:15ch; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin:1.8rem 0 2rem; }
.hero-trust{ font-size:.86rem; color:#8DA0B6; border-top:1px solid color-mix(in srgb,#fff 12%,transparent);
  padding-top:1.2rem; max-width:46ch; }
.hero-trust strong{ color:#CBD8E6; font-weight:600; }

/* -- Constellation SVG -- */
.hero-visual{ display:flex; justify-content:center; }
.hero-visual svg{ width:100%; max-width:440px; height:auto; overflow:visible; }
.node-core{ animation:pulse 3.2s ease-in-out infinite; transform-origin:center; }
@keyframes pulse{ 0%,100%{ opacity:.55; } 50%{ opacity:1; } }
@media (prefers-reduced-motion:reduce){ .node-core{ animation:none; } }

/* -- Ajustements mobile propres à la home -- */
@media (max-width:900px){
  .hero-visual{ order:-1; max-width:360px; margin-inline:auto; }
  .hero{ min-height:auto; padding-block:2rem; }
}
