/* Header / Nav */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border)
}
html[data-theme="dark"] .site-header{background:rgba(11,15,25,.7)}
.site-header .container{display:flex; align-items:center; justify-content:space-between; padding:.6rem 0}
.brand{display:flex; align-items:center; gap:.6rem; font-weight:700}
.logo{
  display:grid; place-items:center; width:36px; height:36px;
  border-radius:10px; background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#0b0f19; font-weight:800
}
.brand-text{letter-spacing:.3px}

.site-nav .nav-menu{
  display:flex; align-items:center; gap:.75rem; margin:0; padding:0; list-style:none
}
.site-nav a{padding:.55rem .7rem; border-radius:10px}
/* ✅ Ne pas écraser le bouton .btn avec le hover gris */
.site-nav a:not(.btn):hover{background:var(--bg-alt)}

/* Mobile nav */
.nav-toggle{display:none; background:none; border:0}
.nav-toggle .bar{display:block; width:22px; height:2px; background:var(--text); margin:5px 0}
@media (max-width: 900px){
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .site-nav .nav-menu{
    position:fixed; inset:60px 0 auto 0; background:var(--bg); border-bottom:1px solid var(--border);
    padding:1rem; display:none; flex-direction:column; gap:.5rem
  }
  .site-nav .nav-menu.open{display:flex}
  .nav-toggle{display:inline-flex}
}

/* Hero */
.hero .grid-2{align-items:center}
.hero-visual{position:relative}
.hero-visual img{border-radius:20px; border:1px solid var(--border); box-shadow:var(--shadow)}
.badges{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem}
.badge{font-size:.8rem; padding:.4rem .6rem; border-radius:999px; background:var(--bg-alt)}

/* Projects */
.section-head{display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem}
.projects-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
@media (max-width: 1100px){ .projects-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 700px){ .projects-grid{grid-template-columns:1fr}}

/* Project cards fully clickable */
.project-link{display:block; color:inherit}
.project-link .card-body{position:relative}
.project-link:hover{box-shadow:var(--shadow)}

/* FAQ */
.faq-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
@media (max-width: 900px){ .faq-grid{grid-template-columns:1fr} }
.faq{border-radius:14px; overflow:hidden}
.faq summary{cursor:pointer; display:flex; align-items:center; gap:.6rem; padding:1rem 1.1rem; font-weight:600; list-style:none}
.faq[open] summary{border-bottom:1px solid var(--border); background:var(--bg-alt)}
.faq .card-body{padding:1rem 1.1rem}
.faq-icon{font-size:1.1rem}

/* Footer */
.site-footer{border-top:1px solid var(--border); padding:2rem 0; background:var(--bg-alt)}
.footer-grid{display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap}
.footer-links{display:flex; gap:1rem; list-style:none; padding:0; margin:0}

/* Reveal on scroll */
.reveal{opacity:0; transform:translateY(12px); transition:opacity .5s ease, transform .5s ease}
.reveal.is-visible{opacity:1; transform:none}

/* Hover */
.card:hover{transform:translateY(-2px); transition:transform .2s}
