/* ═══ « moins IA » — overrides STAGÉS (chargés après style.css) ═══
   Démo pour validation AVANT bascule live. Retouche 3 tells visuels
   (le 4e = copie, dans index-toned.html). Rien de définitif ici. */

/* 1 — FOND : on retire grille + orbes + constellation + waves.
   Un halo statique très discret remplace, pour ne pas faire « vide ». */
.bg-effects,
.hero-canvas,
.wave-divider { display: none !important; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  /* Touches bordeaux #4d0135 (variante A « atmosphère », validée 13/07) */
  background:
    radial-gradient(52rem 36rem at 14% -2%, rgba(77, 1, 53, 0.68), transparent 56%),
    radial-gradient(44rem 34rem at 96% 34%, rgba(77, 1, 53, 0.34), transparent 52%);
}
/* Lueur bordeaux derrière le bloc « Pourquoi Kalvyx / CTA final » */
.highlights-cta-section { position: relative; z-index: 0; }
.highlights-cta-section::before {
  content: ""; position: absolute; inset: -10% 0; z-index: -1; pointer-events: none;
  background: radial-gradient(48rem 28rem at 50% 55%, rgba(77, 1, 53, 0.58), transparent 60%);
}

/* 2 — TEXTES : dégradé violet → accent SOLIDE (garde l'emphase, tue le gradient). */
.gradient-text {
  background: none !important;
  -webkit-text-fill-color: #a78bfa !important;
  color: #a78bfa !important;
}

/* 3 — REVEAL : tout visible d'emblée, plus de cascade d'apparition au scroll. */
.reveal,
.hero .reveal {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* 4 — HERO « Commande vivante » (bloc texte gauche) — scopé sous .hero-copy */
.hero-copy .cv-eyebrow{
  display:inline-flex; align-items:center; flex-wrap:wrap;
  gap:.55ch; max-width:100%;
  font-family:'JetBrains Mono', var(--font-body), monospace;
  font-size:clamp(.82rem, .78rem + .3vw, .95rem);
  line-height:1.4; letter-spacing:-.01em;
  padding:.5rem .85rem;
  border:1px solid rgba(139,92,246,.28);
  border-radius:.6rem;
  background:rgba(139,92,246,.06);
  color:rgba(255,255,255,.6);
  margin-bottom:1.5rem;
}
.hero-copy .cv-slash{ color:#8b5cf6; font-weight:600; }
.hero-copy .cv-prompt{ color:rgba(255,255,255,.74); }
.hero-copy .cv-caret{
  width:2px; height:1.1em; margin-left:.1ch;
  display:inline-block; vertical-align:-.15em;
  background:#8b5cf6; border-radius:1px;
  box-shadow:0 0 8px rgba(139,92,246,.75);
}
.hero-copy .cv-title{
  font-family:var(--font-display), 'Outfit', sans-serif;
  font-weight:700;
  font-size:clamp(2.6rem, 1.9rem + 3vw, 4.1rem);
  line-height:1.02; letter-spacing:-.03em;
  color:#fff; margin:0 0 1.15rem;
}
.hero-copy .cv-title .cv-title-2{
  display:block;
  font-size:.46em; font-weight:600;
  line-height:1.15; letter-spacing:-.01em;
  margin-top:.5rem;
  color:rgba(255,255,255,.58);
}
.hero-copy .cv-sub{
  max-width:31rem;
  font-family:var(--font-body), 'Inter', sans-serif;
  font-size:clamp(1rem, .96rem + .25vw, 1.12rem);
  line-height:1.6;
  color:rgba(255,255,255,.72);
  margin:0 0 2rem;
}
.hero-copy .cv-sub b{ color:rgba(255,255,255,.92); font-weight:600; }
.hero-copy .cv-meta{
  display:flex; align-items:center; flex-wrap:wrap;
  gap:.35rem .8rem; margin-top:1.5rem;
  font-family:'JetBrains Mono', var(--font-body), monospace;
  font-size:.78rem; letter-spacing:.01em;
  color:rgba(255,255,255,.44);
}
.hero-copy .cv-meta .cv-online{
  display:inline-flex; align-items:center; gap:.4rem;
  color:rgba(255,255,255,.62);
}
.hero-copy .cv-dot{
  width:.5rem; height:.5rem; border-radius:50%;
  background:#3ba55d; box-shadow:0 0 8px rgba(59,165,93,.85);
  display:inline-block;
}
.hero-copy .cv-sep{ color:rgba(255,255,255,.22); }

/* 5 — ANIMATION « typewriter » du prompt de commande (CSS pur, CSP OK).
   Le prompt s'écrit char par char ; le curseur clignote.
   prefers-reduced-motion → texte statique complet (pas d'animation). */
@media (prefers-reduced-motion: no-preference){
  .hero-copy .cv-prompt{
    display:inline-block;
    overflow:hidden;
    white-space:nowrap;
    vertical-align:bottom;
    max-width:0;
    animation: cv-type 2.2s steps(37, end) .35s both;
  }
  @keyframes cv-type{ from{ max-width:0 } to{ max-width:37ch } }
  .hero-copy .cv-caret{ animation: cv-blink 1.05s steps(1, end) infinite; }
  @keyframes cv-blink{ 0%, 50%{ opacity:1 } 50.01%, 100%{ opacity:0 } }
}
