/* ════════════════════════════════════════════════════════════
   AUTO BREIZH NETTOYAGE — Variables de thème
   ════════════════════════════════════════════════════════════ */
:root[data-theme="dark"], :root {
  --bg:#0b1622; --bg-2:#0f1d2e; --bg-3:#13263a; --bg-elev:#16293d;
  --text:#eaf1f7; --text-2:#9db1c4; --text-3:#637c93;
  --border:#1e3346; --border-2:#2c4a64;
  --accent:#3da5d9; --accent-2:#5fc0ef; --accent-soft:#2b7aa8;
  --wa:#1b9e63; --wa-d:#147a4b;
  --danger:#e0705f; --success:#54b58c;
  --header-bg:rgba(11,22,34,.82);
  --shadow:0 18px 50px -20px rgba(0,0,0,.7);
  --breton:#0d1b2a;
}
:root[data-theme="light"] {
  --bg:#eef3f8; --bg-2:#ffffff; --bg-3:#ffffff; --bg-elev:#ffffff;
  --text:#0c1c2c; --text-2:#485d72; --text-3:#7c8da0;
  --border:#dbe5ef; --border-2:#c2d2e2;
  --accent:#1f7fb0; --accent-2:#156088; --accent-soft:#5aa8cf;
 --wa:#15824f; --wa-d:#0f6640;
  --danger:#c8503f; --success:#3f9a72;
  --header-bg:rgba(238,243,248,.9);
  --shadow:0 18px 50px -22px rgba(20,45,70,.32);
  --breton:#0d1b2a;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { min-height:100vh; }
body {
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg); color:var(--text);
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img { display:block; max-width:100%; }
button { font:inherit; cursor:pointer; background:none; border:none; color:inherit; }
input, select, textarea { font:inherit; color:inherit; }
a { color:inherit; text-decoration:none; cursor:pointer; }
h1, h2, h3, h4 { font-family:'Archivo',sans-serif; font-weight:800; line-height:1.08; letter-spacing:-.01em; }

.container { max-width:1200px; margin:0 auto; padding:0 22px; }
@media (min-width:900px){ .container{ padding:0 32px; } }

.text-muted { color:var(--text-2); }
.text-faint { color:var(--text-3); }
.hidden, [hidden] { display:none !important; }

.eyebrow {
  display:inline-flex; align-items:center; gap:7px;
  font-size:12.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent);
}
.accent { color:var(--accent); }

/* Animations */
.reveal { opacity:0; transform:translateY(18px); animation:revealUp .8s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes revealUp { to { opacity:1; transform:translateY(0); } }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

[data-lucide] { stroke-width:1.6; vertical-align:middle; }
