/* HERO */
.hero{min-height:100vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding-top:90px}
.bgtext{position:absolute;inset:0;display:flex;align-items:center;white-space:nowrap;z-index:-1;opacity:.07}
.bgtext span{font:700 clamp(100px,22vw,300px) var(--ff);animation:scroll 40s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
.win{width:min(440px,88vw);margin:0 auto 26px;background:linear-gradient(145deg,rgba(139,92,246,.18),rgba(10,5,20,.45));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 0 70px rgba(139,92,246,.35),0 40px 90px rgba(0,0,0,.6);animation:float 6s ease-in-out infinite;text-align:left}
@keyframes float{50%{transform:translateY(-9px)}}
.bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03)}
.bar i{width:10px;height:10px;border-radius:50%;background:#3b2a63}.bar i:first-child{background:var(--m);box-shadow:0 0 8px var(--m)}.bar i:nth-child(2){background:var(--n)}
.bar span{margin-left:8px;font:11px var(--fm);color:var(--mut)}
.code{display:flex;justify-content:center;font:700 clamp(54px,12vw,92px)/1 var(--fm);padding:26px 0 12px;color:#fff;text-shadow:0 0 18px var(--p),0 0 50px var(--p);letter-spacing:-.04em}
.code span{position:relative}
.code span::before,.code span::after{content:attr(data-t);position:absolute;left:0;top:0;opacity:0;animation:glitch 4s steps(1) infinite}
.code span::before{color:var(--m);clip-path:inset(0 0 60% 0)}.code span::after{color:#38bdf8;clip-path:inset(60% 0 0 0);animation-delay:-.1s}
@keyframes glitch{0%,90%,100%{opacity:0}92%{opacity:.8;transform:translateX(-6px)}95%{opacity:.8;transform:translateX(5px)}}
.term{padding:4px 20px 16px;color:var(--n);font:13px var(--fm);min-height:38px}
.term em{display:inline-block;width:7px;height:13px;background:var(--n);vertical-align:-2px;margin-left:3px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.tag{font:12px var(--fm);color:var(--n);letter-spacing:.22em;text-transform:uppercase}
h1{font:700 clamp(30px,7.2vw,86px)/1 var(--ff);text-transform:uppercase;letter-spacing:-.03em;margin:16px 0 22px}
.glow{color:var(--n);text-shadow:0 0 22px var(--p),0 0 60px var(--p)}
.ver{color:var(--mut);font:13px var(--fm);margin-bottom:20px}
.cta{display:inline-block;padding:14px 28px;border:1px solid var(--n);color:#fff;text-decoration:none;font:700 12px var(--ff);letter-spacing:.14em;background:rgba(139,92,246,.22);box-shadow:0 0 26px rgba(139,92,246,.5);transition:.25s}
.cta:hover{background:var(--p);box-shadow:0 0 44px var(--m);transform:translateY(-3px)}
.mouse{width:22px;height:36px;border:1.5px solid var(--n);border-radius:12px;margin:0 auto 20px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;background:var(--m);border-radius:2px;animation:wheel 1.6s infinite}
@keyframes wheel{to{transform:translateY(12px);opacity:0}}

/* TEXTES INTRO */
.intro{max-width:820px;margin:0 auto;padding:70px 0 50px}
.tagl{font:14px var(--fm);color:var(--m);display:block;margin-bottom:16px}
.intro p{font-size:clamp(17px,2.2vw,22px);color:var(--mut);margin-bottom:16px}
.intro strong{color:#fff;font-weight:700}.intro p span{color:var(--n)}

/* À PROPOS */
.about{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:900px;margin:30px auto 0}
.about ul{list-style:none;padding:0;display:grid;gap:10px}
.about li{border-left:2px solid var(--m);padding-left:12px;color:var(--mut)}
@media(max-width:700px){.about{grid-template-columns:1fr}}
