*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

background:var(--background);

color:var(--text);

font-family:
Inter,
Segoe UI,
Arial,
sans-serif;

overflow-x:hidden;

line-height:1.7;

}

/* Scrollbar */

::-webkit-scrollbar{

width:12px;

}

::-webkit-scrollbar-thumb{

background:var(--primary);

border-radius:50px;

}

::-webkit-scrollbar-track{

background:#111;

}

a{

text-decoration:none;

color:inherit;

}

img{

max-width:100%;

display:block;

}

.container{

width:min(var(--container),92%);

margin:auto;

padding:90px 0;

}

section{

position:relative;

}

/* HERO */

.hero{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

text-align:center;

position:relative;

overflow:hidden;

padding:120px 30px;

}

.hero::before{

content:"";

position:absolute;

inset:0;

background:url("../img/backgrounds/hero.webp");

background-size:cover;

background-position:center;

opacity:.22;

transform:scale(1.1);

}

.hero::after{

content:"";

position:absolute;

inset:0;

background:linear-gradient(

180deg,

rgba(11,11,13,.2),

rgba(11,11,13,.9)

);

}

.hero-content{

position:relative;

z-index:2;

max-width:900px;

}

.hero-logo{

width:170px;

margin:auto;

margin-bottom:35px;

filter:drop-shadow(0 0 25px rgba(125,77,255,.4));

}

.hero h1{

font-size:72px;

font-weight:900;

margin-bottom:25px;

}

.hero p{

font-size:22px;

color:var(--text-light);

margin-bottom:45px;

}




/* ===================================================== */
/*                      BOUTONS                           */
/* ===================================================== */

.hero-buttons{

display:flex;

justify-content:center;

align-items:center;

gap:20px;

flex-wrap:wrap;

margin-top:20px;

}

/* ===================================================== */
/*                      TITRES                            */
/* ===================================================== */

h1,h2,h3,h4{

font-weight:800;

line-height:1.2;

}

h2{

font-size:42px;

margin-bottom:18px;

text-align:center;

}

section>p{

text-align:center;

color:var(--text-light);

}

/* ===================================================== */
/*                     GRILLES                            */
/* ===================================================== */

.feature-grid,
.stats-grid,
.gallery-grid,
.video-grid,
.faq-grid,
.wiki-grid{

display:grid;

gap:30px;

margin-top:50px;

}

.feature-grid{

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

}

.stats-grid{

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

}

.gallery-grid{

grid-template-columns:repeat(auto-fit,minmax(330px,1fr));

}

.video-grid{

grid-template-columns:repeat(auto-fit,minmax(500px,1fr));

}

.faq-grid{

grid-template-columns:repeat(auto-fit,minmax(400px,1fr));

}

/* ===================================================== */
/*                     CARTES                             */
/* ===================================================== */

.card{

background:rgba(28,28,36,.75);

border:1px solid var(--border);

border-radius:var(--radius);

padding:30px;

backdrop-filter:blur(14px);

transition:var(--transition);

box-shadow:var(--shadow-small);

overflow:hidden;

position:relative;

}

.card::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:3px;

background:linear-gradient(90deg,var(--primary),var(--secondary));

opacity:0;

transition:.3s;

}

.card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-big);

border-color:var(--primary);

}

.card:hover::before{

opacity:1;

}

.card h3{

margin-bottom:15px;

font-size:24px;

}

.card p{

color:var(--text-light);

}

/* ===================================================== */
/*                     IMAGES                             */
/* ===================================================== */

.gallery-grid img{

width:100%;

height:230px;

object-fit:cover;

border-radius:16px;

cursor:pointer;

transition:.3s;

box-shadow:var(--shadow);

}

.gallery-grid img:hover{

transform:scale(1.04);

}

/* ===================================================== */
/*                     VIDEOS                             */
/* ===================================================== */

.video-grid iframe{

width:100%;

height:340px;

border:none;

border-radius:18px;

box-shadow:var(--shadow);

}

/* ===================================================== */
/*                     COMPTEURS                          */
/* ===================================================== */

.counter{

font-size:60px;

font-weight:900;

color:var(--primary-light);

margin-bottom:10px;

}

/* ===================================================== */
/*                     FAQ                                */
/* ===================================================== */

.faq-item{

background:var(--surface);

padding:25px;

border-radius:16px;

border:1px solid var(--border);

}

.faq-item h3{

margin-bottom:15px;

}

.faq-item p{

color:var(--text-light);

}

/* ===================================================== */
/*                     TABLEAUX                           */
/* ===================================================== */

table{

width:100%;

border-collapse:collapse;

margin-top:25px;

}

th{

background:var(--primary);

padding:15px;

}

td{

padding:15px;

border-bottom:1px solid var(--border);

}

tr:nth-child(even){

background:rgba(255,255,255,.03);

}

/* ===================================================== */
/*                     LISTES                             */
/* ===================================================== */

ul{

padding-left:20px;

}

li{

margin:8px 0;

}

/* ===================================================== */
/*                     SÉPARATEURS                        */
/* ===================================================== */

.divider{

height:1px;

background:linear-gradient(to right,transparent,var(--border),transparent);

margin:80px auto;

width:80%;

}

/* ===================================================== */
/*                  GLASS SECTIONS                        */
/* ===================================================== */

.glass{

background:rgba(255,255,255,.03);

backdrop-filter:blur(15px);

border:1px solid rgba(255,255,255,.06);

border-radius:24px;

padding:50px;

}

/* ===================================================== */
/*                     BADGES                             */
/* ===================================================== */

.badge{

display:inline-block;

padding:8px 16px;

border-radius:999px;

background:rgba(125,77,255,.15);

color:var(--primary-light);

font-size:14px;

font-weight:700;

margin-bottom:20px;

}

/* ===================================================== */
/*                    FOOTER SPACE                        */
/* ===================================================== */

footer{

margin-top:120px;

}









/* ===================================================== */
/*                 NOTIFICATION IP                       */
/* ===================================================== */


.notification{

position:fixed;

bottom:30px;

left:50%;

transform:

translate(-50%,30px);

background:

rgba(20,20,30,.95);

border:

1px solid var(--primary);

padding:15px 30px;

border-radius:15px;

color:white;

font-weight:700;

opacity:0;

pointer-events:none;

transition:.3s;

z-index:99999;

box-shadow:

0 10px 40px rgba(0,0,0,.5);

}



.notification.show{

opacity:1;

transform:

translate(-50%,0);

}







#particles{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

z-index:-1;

pointer-events:none;

}



