:root{
  --bg1:#070A14;
  --bg2:#0B1430;

  --panel:rgba(15,26,47,.62);
  --panelSolid:rgba(15,26,47,.92);

  --stroke:rgba(55,78,120,.56);
  --strokeStrong:rgba(42,195,255,.36);

  --text:#ffffff;
  --muted:rgba(255,255,255,.72);
  --muted2:rgba(255,255,255,.58);

  --accent:#2ac3ff;
  --accent2:#1aa8e6;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: Arial, sans-serif;
  background: linear-gradient(135deg,var(--bg1),var(--bg2));
  color:var(--text);
}
a{color:inherit;text-decoration:none}

/* Stabilisation largeur pour éviter les variations de breakpoint selon la scrollbar */
html{overflow-y:scroll;}

/* HEADER */
.header{
  position:fixed;
  top:0;left:0;right:0;
  height:116px; /* + air */
  z-index:1000;
  background: linear-gradient(180deg, rgba(7,10,20,.985), rgba(7,10,20,.92));
  box-shadow: 0 10px 28px rgba(0,0,0,.42);
  border-bottom:1px solid rgba(42,195,255,.18);
}
.header-inner{
  height:100%;
  width:100%;
  max-width:1350px;
  margin:0 auto;
  padding:0 54px;
  display:grid;
  grid-template-columns: 440px 1fr 440px;
  align-items:center;
}
.brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
}
.brand img{
  height:104px;
  width:auto;
  display:block;
}


.header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background: linear-gradient(90deg, transparent, rgba(42,195,255,.30), transparent);
  pointer-events:none;
}

/* NAV */
.nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:22px;
  font-size:17px;
}
.nav a{
  padding:10px 16px;
  border-radius:999px;
  color:rgba(255,255,255,.76);
  border:1px solid transparent;
}
.nav a:hover{background: rgba(255,255,255,.06);color:#fff}
.nav a.active{
  background: rgba(42,195,255,.12);
  border-color: rgba(42,195,255,.22);
  color:#fff;
}
.header-spacer{
  justify-self:end;
  width:440px;
}
/* MOBILE HEADER */
@media (max-width: 768px){
  .header{
    height:auto;
    min-height:94px;
    padding:8px 0 10px;
  }

  .header-inner{
    height:auto;
    padding:0 14px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    row-gap:6px;
    column-gap:8px;
    max-width:100%;
  }

  .brand{
    width:100%;
    justify-content:center;
  }

  .brand img{
    height:70px;
    max-width:min(78vw,340px);
    width:auto;
    object-fit:contain;
  }

  .nav{
    width:100%;
    justify-content:center;
    gap:10px;
    font-size:15px;
    flex-wrap:wrap;
  }

  .nav a{
    padding:8px 12px;
  }

  .header-spacer{
    display:none;
    width:0;
  }
}

@media (max-width: 420px){
  .header{
    min-height:88px;
    padding:6px 0 8px;
  }

  .header-inner{
    padding:0 10px;
    row-gap:5px;
  }

  .brand img{
    height:60px;
    max-width:76vw;
  }

  .nav{
    gap:6px;
    font-size:14px;
  }

  .nav a{
    padding:7px 10px;
  }
}
