/* ── BASE SPÉCIFIQUE INDEX ── */
/* La page index a overflow:hidden contrairement aux autres */
html, body { height:100%; overflow:hidden; }

/* ── GRID (version masquée radiale pour l'index) ── */
.grid {
    position:fixed; inset:0;
    background-image: linear-gradient(var(--border) 1px,transparent 1px), linear-gradient(90deg,var(--border) 1px,transparent 1px);
    background-size:60px 60px;
    pointer-events:none;
    mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,black 20%,transparent 100%);
}

/* ── TERMINAL BAR ── */
.terminal-bar { position:fixed; top:2rem; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:8px; padding:8px 16px; opacity:0; animation:fadeIn 0.5s ease forwards 0.2s; z-index:10; }
.dot { width:10px; height:10px; border-radius:50%; }
.dot-r { background:#ff5f57; }
.dot-y { background:#febc2e; }
.dot-g { background:#28c840; }
.terminal-title { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted2); letter-spacing:0.1em; margin-left:6px; }

/* ── WRAPPER ── */
.wrapper { position:relative; height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:10; padding:2rem; }

/* ── TYPING TAG ── */
.typing-tag { font-family:'DM Mono',monospace; font-size:13px; color:var(--accent); margin-bottom:2.5rem; display:flex; align-items:center; gap:8px; opacity:0; animation:fadeIn 0.5s ease forwards 0.5s; }

/* ── NAME ── */
.name { font-size:clamp(3.5rem,11vw,9rem); font-weight:800; line-height:0.88; letter-spacing:-0.04em; text-align:center; opacity:0; transform:translateY(24px); animation:fadeUp 0.9s cubic-bezier(0.16,1,0.3,1) forwards 0.7s; }
.name-first { color:var(--text); }
.name-last { display:block; color:transparent; -webkit-text-stroke:1px var(--accent); }

/* ── ACCROCHE ── */
.accroche { margin-top:2rem; font-family:'DM Mono',monospace; font-size:clamp(0.7rem,1.8vw,0.95rem); color:var(--muted2); text-align:center; line-height:1.8; max-width:520px; opacity:0; transform:translateY(12px); animation:fadeUp 0.7s ease forwards 1s; }
.accroche em { color:var(--accent2); font-style:normal; }

/* ── STATS ── */
.stats { display:flex; gap:2rem; margin-top:2rem; opacity:0; animation:fadeUp 0.6s ease forwards 1.2s; }
.stat { display:flex; flex-direction:column; align-items:center; gap:4px; }
.stat-value { font-family:'DM Mono',monospace; font-size:1.1rem; font-weight:700; color:var(--accent); }
.stat-label { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted2); letter-spacing:0.12em; text-transform:uppercase; }
.stat-divider { width:1px; height:40px; background:var(--muted); align-self:center; }

/* ── CTA ── */
.cta-wrapper { margin-top:2.5rem; opacity:0; animation:fadeUp 0.6s ease forwards 1.4s; }
.cta { display:inline-flex; align-items:center; gap:12px; padding:14px 36px; background:transparent; border:1px solid var(--accent); color:var(--accent); font-family:'Syne',sans-serif; font-size:13px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; position:relative; overflow:hidden; transition:color 0.3s; }
.cta::before { content:''; position:absolute; inset:0; background:var(--accent); transform:translateX(-101%); transition:transform 0.4s cubic-bezier(0.4,0,0.2,1); }
.cta:hover::before { transform:translateX(0); }
.cta:hover { color:#080b0f; }
.cta span, .cta svg { position:relative; z-index:1; }

/* ── STATUS BAR BAS ── */
.status { position:fixed; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:8px; font-family:'DM Mono',monospace; font-size:11px; color:var(--muted2); letter-spacing:0.1em; opacity:0; animation:fadeIn 0.5s ease forwards 1.6s; z-index:10; }