:root{
  --bg:#f8fafc;        
  --panel:#ffffff;    
  --text:#0f172a;      
  --muted:#475569;     
  --brand:#0ea5e9;     
  --brand-2:#0369a1;  
  --border:#e2e8f0;    
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial, Noto Sans;
  line-height:1.75; color:var(--text); background:var(--bg);
}
.container{max-width:980px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;background:rgba(121, 236, 202, 0.85);border-bottom:1px solid var(--border);padding:10px 0;z-index:100}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo{text-decoration:none;color:var(--brand-2);font-weight:700;font-size:1.4rem}
header strong{display:none}
nav{display:block}
nav.hidden{display:none}
nav ul{list-style:none;display:flex;gap:10px;margin:0;padding:0}
nav a { color: #000000; font-weight: 600; text-decoration: none; padding: 8px 12px; border-radius: 6px; display: inline-block; }
nav a:hover,nav a:focus{background:#e7f5fd;outline:2px solid var(--brand-2);outline-offset:2px}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;font-size:1.5rem}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px, 8px)}
.hamburger.active span:nth-child(2){opacity:0}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px, -8px)}
.hamburger span{display:block;width:25px;height:2px;background:var(--text);margin:6px 0;transition:0.3s}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:42px 0 12px;align-items:center}
.hero h1{font-size:clamp(28px, 4vw, 40px);margin:0 0 10px}
.badge{display:inline-flex;align-items:center;gap:8px;background:#e7f5fd;color:#0369a1;border:1px solid #cfe9f9;padding:6px 10px;border-radius:999px;font-weight:600}
.cta{display:flex;gap:10px;margin-top:12px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);text-decoration:none;color:var(--text);background:#fff;font-weight:600;transition:0.3s;cursor:pointer}
.btn:focus-visible{outline:3px solid var(--brand-2);outline-offset:2px}
.btn.primary{background:linear-gradient(180deg, var(--brand), var(--brand-2));border:none;color:#fff}
.btn.primary:hover{filter:brightness(1.05);outline:none}
.btn.primary:focus-visible{outline:3px solid #fff;outline-offset:2px}
.btn.ghost{background:transparent}
.btn.ghost:hover{background:#f1f9f8}
.section{padding:22px 0}
.section h2{font-size:clamp(24px, 3vw, 32px)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.card{background:#77fad9;color:var(--text);border-radius:14px;border:2px solid #5dd9c0;box-shadow:0 8px 25px rgba(2,6,23,.05);padding:16px}
.card2{background:#a9f1df;color:var(--text);border-radius:14px;border:2px solid #8fe8d1;box-shadow:0 8px 25px rgba(2,6,23,.05);padding:16px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}
.kpi{border:1px dashed var(--border);border-radius:10px;padding:10px;text-align:center}
footer{margin-top:20px;padding:20px 0;border-top:1px solid var(--border);background:#fff}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}
small,.muted{color:var(--muted)}
hr{border:none;border-top:1px solid var(--border);margin:16px 0}
.prose{max-width:800px}
.prose h1{font-size:clamp(26px, 3vw, 36px)}
.prose h2{margin-top:24px;font-size:clamp(20px, 2.5vw, 28px)}
.prose h3{margin-top:18px;font-size:clamp(18px, 2vw, 24px)}
.prose p{margin:12px 0;line-height:1.8}
.prose a{color:var(--brand-2);text-decoration:underline}
.prose a:hover{text-decoration:none}
.faq details{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:10px;margin:8px 0}
:focus-visible{outline:3px solid var(--brand); outline-offset:2px}

/* Tablettes : 768px et moins */
@media (max-width: 768px){
  .nav{flex-wrap:wrap;gap:10px}
  header strong{display:block;flex:1;font-size:0.95rem}
  .hamburger{display:block}
  nav{display:none;flex:1 100%;order:3}
  nav.active{display:block}
  nav ul{flex-direction:column;width:100%;gap:0}
  nav a{display:block;padding:10px 12px}
  .hero{grid-template-columns:1fr;gap:18px;padding:24px 0}
  .hero h1{font-size:clamp(22px, 5vw, 32px)}
  .card-grid{grid-template-columns:1fr 1fr;gap:12px}
  .kpis{grid-template-columns:1fr 1fr;gap:8px}
  .kpi{padding:8px;font-size:0.9rem}
  footer .cols{grid-template-columns:1fr;gap:12px}
  .section{padding:20px 0}
  .cta{gap:8px}
}

/* Téléphones : 480px et moins */
@media (max-width: 480px){
  .container{padding:0 16px}
  header{padding:8px 0}
  .nav{padding:8px 0}
  .logo{font-size:1.2rem}
  header strong{font-size:0.85rem}
  .hamburger{padding:6px}
  nav ul{padding:8px 0}
  nav a{padding:8px 10px;font-size:0.9rem}
  .hero{padding:16px 0;gap:12px}
  .hero h1{font-size:clamp(18px, 6vw, 26px);margin:0 0 8px}
  .badge{padding:6px 8px;font-size:0.8rem}
  .cta{gap:6px;margin-top:8px}
  .btn{padding:10px 12px;font-size:0.85rem}
  .btn.primary{padding:10px 14px}
  .section{padding:16px 0}
  .section h2{font-size:clamp(20px, 5vw, 26px);margin:16px 0}
  .card-grid{grid-template-columns:1fr;gap:10px;margin:12px 0}
  .card{padding:16px;border-radius:12px}
  .card h3{font-size:1.1rem}
  .card p{font-size:0.95rem}
  .kpis{grid-template-columns:1fr;gap:8px}
  .kpi{padding:8px;font-size:0.85rem}
  footer{margin-top:24px;padding:20px 0}
  footer h3{font-size:1.1rem;margin:0 0 8px}
  footer p{font-size:0.9rem;margin:6px 0}
  .prose h1{font-size:clamp(20px, 5vw, 28px)}
  .prose h2{font-size:clamp(18px, 4vw, 22px);margin-top:16px}
  .prose h3{font-size:clamp(16px, 3vw, 20px);margin-top:12px}
  .prose p{font-size:0.95rem;margin:8px 0}
  article.card{margin:8px 0;padding:14px}
  .faq details{padding:10px;margin:8px 0}
}

