/* ============ RESET & VARIABLES ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#08090c;
  --bg-2:#0d0f15;
  --surface:rgba(20,22,30,0.7);
  --surface-solid:#14161e;
  --border:rgba(255,255,255,0.08);
  --text:#e8eaed;
  --muted:#8b8f9a;
  --accent:#ff8a00;
  --accent-2:#ff5a00;
  --cyan:#00e5ff;
  --cyan-2:#00b8d4;
  --danger:#ff3860;
  --radius:14px;
  --shadow:0 8px 30px rgba(0,0,0,0.4);
  --glow-orange:0 0 30px rgba(255,138,0,0.4);
  --glow-cyan:0 0 30px rgba(0,229,255,0.3);
}

html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  min-height:100vh;
}
body::before{
  content:'';position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(circle at 20% 0%,rgba(255,138,0,0.08),transparent 50%),
    radial-gradient(circle at 80% 100%,rgba(0,229,255,0.06),transparent 50%);
  pointer-events:none;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}

.container{max-width:1280px;margin:0 auto;padding:0 24px}

.gradient-text{
  background:linear-gradient(135deg,var(--accent) 0%,var(--cyan) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.eyebrow{
  font-family:'Orbitron',sans-serif;font-size:.8rem;letter-spacing:3px;
  color:var(--accent);text-transform:uppercase;margin-bottom:14px
}

/* ============ NAVBAR ============ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 0;
  transition:all .35s ease;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  background:rgba(8,9,12,0.5);
  border-bottom:1px solid transparent;
}
.navbar.scrolled{
  padding:12px 0;
  background:rgba(8,9,12,0.92);
  border-bottom-color:var(--border);
}
.nav-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;font-family:'Orbitron',sans-serif}
.logo-mark{
  width:36px;height:36px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  color:#000;border-radius:8px;font-weight:900;
  box-shadow:var(--glow-orange);
}
.logo-text{font-size:1.1rem;letter-spacing:2px}
.logo-text strong{color:var(--accent)}

.nav-links{display:flex;gap:32px}
.nav-links a{
  position:relative;font-size:.95rem;font-weight:500;
  color:var(--muted);transition:color .25s
}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a.active::after{
  content:'';position:absolute;bottom:-8px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:2px
}

.hamburger{display:none;flex-direction:column;gap:5px;padding:8px}
.hamburger span{width:24px;height:2px;background:var(--text);transition:.3s;border-radius:2px}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ NAVBAR RESPONSIVE ============ */
@media (max-width: 768px) {

  .hamburger {
    display: flex; /* visible sur mobile */
    cursor: pointer;
    background: none;
    border: none;
    z-index: 1100;
  }

  .nav-links {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;

    /* FOND 100% OPAQUE */
    background-color: #08090c;
    background-image: linear-gradient(180deg, #0a0b10 0%, #08090c 100%);

    /* pas de blur qui laisse passer */
    backdrop-filter: none;
    -webkit-backdrop-filter: none;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 36px;
    z-index: 1050;

    /* caché par défaut */
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  .nav-links.open {
    opacity: 1;
    pointer-events: all;
    transform: translateY(0);
  }

  /* halo orange décoratif par-dessus le fond opaque */
  .nav-links.open::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 30%, rgba(255,138,0,0.12), transparent 60%);
    pointer-events: none;
    z-index: -1;
  }

  .nav-links a {
    font-size: 1.4rem;
    font-family: 'Orbitron', sans-serif;
    color: var(--text);
    letter-spacing: 2px;
    position: relative;
    z-index: 1;
  }

  .nav-links a.active::after {
    bottom: -6px;
  }
}


/* ============ BUTTONS ============ */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:50px;font-weight:600;font-size:.95rem;
  transition:all .3s cubic-bezier(.2,.8,.2,1);
  cursor:pointer;text-transform:uppercase;letter-spacing:1px;
}
.btn-primary{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-2) 100%);
  color:#000;box-shadow:var(--glow-orange);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(255,138,0,0.55)}
.btn-ghost{
  background:transparent;color:var(--text);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

/* ============ FOOTER ============ */
.footer{
  margin-top:80px;border-top:1px solid var(--border);
  padding-top:50px;background:var(--bg-2);
}
.footer-inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:40px}
.footer-tag{color:var(--muted);margin-top:10px;font-size:.9rem}
.footer-links{display:flex;gap:24px}
.footer-links a{color:var(--muted);transition:.3s}
.footer-links a:hover{color:var(--accent)}
.socials{display:flex;gap:14px}
.socials a{
  width:42px;height:42px;display:grid;place-items:center;
  border:1px solid var(--border);border-radius:50%;color:var(--muted);transition:.3s
}
.socials a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.footer-bottom{
  padding:20px 24px;text-align:center;color:var(--muted);
  border-top:1px solid var(--border);font-size:.85rem
}
