* { box-sizing: border-box; font-family: "Segoe UI", Roboto, Arial, sans-serif; }
body { margin:0; background:#f4f6f9; color:#1c1c1c; }

.hero { background:#fff; text-align:center; padding:60px 20px 40px; }
.hero h1 { margin:0; font-size:2.6em; }
.subtitle { color:#555; font-size:1.15em; margin-top:10px; }

.logo { max-width:160px; margin-bottom:16px; }

.intro { max-width:900px; margin:40px auto; padding:0 20px; text-align:center; color:#333; }

.actions {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap:30px;
  max-width:1100px;
  margin:40px auto;
  padding:0 20px;
}

.card {
  background:#fff;
  border-radius:12px;
  padding:30px;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
  text-align:center;
}

.btn {
  display:inline-block;
  margin-top:18px;
  padding:14px 22px;
  border-radius:10px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
}

.btn.blue { background:#2a63d4; }
.btn.green { background:#2e9e4c; }
.btn:hover { opacity:0.92; }

.small-note { color:#666; margin-top:10px; font-size:0.95em; }

.security, .about {
  max-width:900px;
  margin:60px auto;
  padding:0 20px;
}

.security ul { padding-left:20px; color:#333; }

footer {
  background:#fff;
  padding:30px;
  text-align:center;
  color:#666;
  margin-top:60px;
}

/* ---------- Formulaire ---------- */
.form-section { max-width:980px; margin:60px auto; padding:0 20px; }
.muted { color:#555; }
.small { font-size:0.95em; }

.contact-form {
  background:#fff;
  border-radius:12px;
  padding:24px;
  box-shadow:0 8px 20px rgba(0,0,0,0.05);
  margin-top:18px;
}

.contact-form h3 { margin:18px 0 10px; }
.contact-form label { display:block; font-weight:700; margin:12px 0 6px; }

.contact-form input,
.contact-form select,
.contact-form textarea {
  width:100%;
  padding:12px;
  border:1px solid #ddd;
  border-radius:10px;
}

.grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
}

fieldset {
  border:1px solid #eee;
  border-radius:12px;
  padding:14px;
  margin:18px 0;
}

legend { font-weight:800; padding:0 8px; }

.check {
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-weight:500;
  margin:10px 0;
}

.honeypot { display:none !important; }

.notice {
  border-left:4px solid #2a63d4;
  background:#eef4ff;
  padding:12px 14px;
  border-radius:10px;
  margin:16px 0;
}
