/* =========================
   BASE PROPRE + PREMIUM
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Montserrat, sans-serif;
background:#04050a;
color:#fff;
line-height:1.7;
overflow-x:hidden;
-webkit-font-smoothing:antialiased;
}

/* =========================
   CURSOR LIGHT (soft)
========================= */

#cursor-light{
position:fixed;
width:450px;
height:450px;
border-radius:50%;
background:radial-gradient(circle, rgba(0,217,255,.08), transparent 70%);
pointer-events:none;
transform:translate(-50%,-50%);
z-index:999;
}

/* =========================
   HEADER
========================= */

.header{
position:fixed;
top:0;
width:100%;
background:rgba(5,6,10,.55);
backdrop-filter:blur(22px);
border-bottom:1px solid rgba(255,255,255,.06);
z-index:1000;
}

.header .container{
display:flex;
justify-content:space-between;
align-items:center;
width:90%;
max-width:1200px;
margin:auto;
padding:18px 0;
}

.logo{
color:#00d9ff;
font-weight:800;
letter-spacing:4px;
font-size:13px;
}

nav a{
color:#fff;
text-decoration:none;
margin-left:18px;
font-size:13px;
opacity:.75;
transition:.3s;
}

nav a:hover{
color:#00d9ff;
opacity:1;
}

/* =========================
   HERO (plus lisible)
========================= */

.hero{
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
position:relative;
overflow:hidden;
}

.hero video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
opacity:0.60;
filter:contrast(1.1) saturate(1.05);
transform:scale(1.05);
}

.overlay{
position:absolute;
inset:0;
background:rgba(4,5,10,.45);
}

.hero-content{
position:relative;
z-index:2;
max-width:900px;
padding:0 20px;
}

.hero h1{
font-size:90px;
font-weight:800;
letter-spacing:3px;
line-height:1;
}

.hero span{
color:#00d9ff;
}

.hero p{
margin-top:15px;
opacity:.8;
font-size:16px;
}

/* =========================
   BUTTON
========================= */

.btn{
display:inline-block;
margin-top:25px;
padding:12px 34px;
border-radius:30px;
background:linear-gradient(90deg,#00d9ff,#6b5cff);
color:#fff;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 15px 40px rgba(0,217,255,.2);
}

/* =========================
   SECTIONS (IMPORTANT POUR TON TEXTE)
========================= */

.section{
padding:120px 0;
}

.container{
width:90%;
max-width:1100px;
margin:auto;
}

.title{
text-align:center;
margin-bottom:50px;
}

.title h2{
font-size:42px;
letter-spacing:2px;
}

/* =========================
   CARDS (lisibilité max)
========================= */

.card{
background:rgba(255,255,255,.04);
border:1px solid rgba(255,255,255,.08);
padding:28px;
border-radius:18px;
margin-bottom:18px;
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
border-color:rgba(0,217,255,.4);
}

/* =========================
   MOBILE
========================= */

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
color:#fff;
}

@media(max-width:900px){

.hero h1{
font-size:42px;
}

.hero p{
font-size:14px;
}

.section{
padding:80px 0;
}

.title h2{
font-size:30px;
}

.menu-toggle{
display:block;
}

nav{
display:none;
position:fixed;
top:70px;
right:0;
width:240px;
background:rgba(5,6,10,.95);
backdrop-filter:blur(15px);
flex-direction:column;
padding:20px;
}

nav.active{
display:flex !important;
}

nav a{
display:block;
margin:12px 0;
}
}