/* ==========================================================
   Daemon Report — Global Styles
   Partagé sur toutes les pages du site daemon.report
   ========================================================== */

/* ---------- Design Tokens ---------- */
:root{
  --bg:#F6F6FA;
  --surface:#FFFFFF;
  --ink:#18161F;
  --ink-2:#211E2C;
  --muted:#6B6979;
  --line:#EBEAF1;
  --line-2:#DEDCE8;
  --accent:#6A3AD1;
  --accent-tint:rgba(106,58,209,.08);
  --signal:#1FA97B;
  --danger:#C43A57;
  --disp:"Space Grotesk", system-ui, sans-serif;
  --body:"Inter", system-ui, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, monospace;
}

/* ---------- Reset & Base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:#fff}
a{color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* ---------- Marque ---------- */
.logo{display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.logo .eye{flex:none}
.logo .name{font-family:var(--disp);font-weight:600;font-size:1.22rem;letter-spacing:-.02em;color:var(--ink)}
.logo .name b{color:var(--muted);font-weight:400}

/* ---------- Boutons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:var(--body);font-weight:500;font-size:.94rem;
  padding:11px 20px;border-radius:9px;border:1px solid transparent;
  transition:background .15s,border-color .15s,transform .12s;
}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--accent);transform:translateY(-1px)}
.btn-line{background:var(--surface);border-color:var(--line-2);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(246,246,250,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav ul{display:flex;gap:28px;align-items:center;list-style:none}
.nav ul a{font-size:.92rem;color:var(--muted);text-decoration:none;transition:color .15s}
.nav ul a:hover{color:var(--ink)}
.nav .btn{padding:9px 16px}

/* ---------- Mobile menu ---------- */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;z-index:65;margin-left:auto}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav ul{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--surface);flex-direction:column;justify-content:flex-start;gap:0;z-index:55;transform:translateX(100%);transition:transform .3s ease;padding:90px 0 24px;margin:0;overflow-y:auto}
  .nav ul.open{transform:translateX(0)}
  .nav ul li{text-align:center;border-bottom:1px solid var(--line)}
  .nav ul li:last-child{border-bottom:none}
  .nav ul a{display:block;padding:18px 24px;font-size:1.05rem;color:var(--ink);font-weight:500}
  .nav ul a:hover{background:var(--accent-tint);color:var(--accent)}
  .nav .btn{margin:24px auto 0;display:inline-flex}
}

/* ---------- Footer ---------- */
footer{padding:52px 0 40px;color:var(--muted);font-size:.88rem}
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.86rem}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--ink)}
.foot-legal{margin-top:24px;font-family:var(--mono);font-size:.7rem;letter-spacing:.02em;color:#9A98A6}

@media (max-width:640px){.cas-grid{grid-template-columns:1fr!important}}
