/* Typography & base */
:root{
  --bg:#0b1530;           /* bleu nuit */
  --bg-2:#0f1f45;
  --primary:#1f5eff;      /* bleu plaisant */
  --text:#ffffff;
  --text-dim:#cfd8ff;
  --card:#ffffff;
  --muted:#6b7280;
  --success:#0ea5e9;
  --danger:#ef4444;
  --ring:#93c5fd;
  --shadow:0 10px 25px rgba(3,10,40,.25);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--bg);color:var(--text)}

.container{max-width:1000px;margin:0 auto;padding:24px}

.header{background:linear-gradient(180deg,var(--bg),var(--bg-2));border-bottom:1px solid rgba(255,255,255,.08)}
.header h1{margin:0 0 8px;font-weight:700;letter-spacing:.3px}
.header p{margin:0;color:var(--text-dim)}

.card{background:var(--card);color:#0b1530;border-radius:20px;padding:24px;box-shadow:var(--shadow);margin-top:24px}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
label{font-weight:600}
.req{color:#e11d48}

input[type="text"],input[type="email"],input[type="number"],input[type="tel"],select,textarea{
  width:100%;padding:12px 14px;border:1.5px solid #e5e7eb;border-radius:12px;
  font-size:16px;outline:none;transition:border .2s, box-shadow .2s;background:#fff
}
input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 4px rgba(147,197,253,.35)}

.honeypot{position:absolute !important;left:-9999px !important;opacity:0 !important;height:0 !important;width:0 !important}

.checkbox-row{margin:12px 0 8px}
.checkbox{display:flex;align-items:center;gap:10px;font-size:14px;color:#111827}
.checkbox input{width:18px;height:18px}

.actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.btn{
  display:inline-block;border:none;cursor:pointer;background:linear-gradient(90deg,var(--primary),#4f8bff);
  color:white;font-weight:700;padding:14px 18px;border-radius:14px;box-shadow:0 10px 20px rgba(31,94,255,.35);
  transition:transform .06s ease, box-shadow .2s ease;font-size:16px
}
.btn:active{transform:translateY(1px);box-shadow:0 6px 14px rgba(31,94,255,.35)}
.note{margin:0;color:#4b5563}

.error{color:var(--danger);min-height:18px}

.footer-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:20px;margin:24px 0;padding:20px}
.footer-card h2{margin-top:0;color:var(--text);font-weight:700}
.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.office{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px}
.office h3{margin:0 0 6px;color:#ffffff}
.office p{margin:6px 0;color:var(--text-dim)}

.site-footer{border-top:1px solid rgba(255,255,255,.08);margin-top:12px}
.site-footer .container{display:flex;justify-content:center;align-items:center;padding:18px;color:var(--text-dim)}

@media (max-width:800px){
  .grid{grid-template-columns:1fr}
  .offices{grid-template-columns:1fr}
  .actions .btn{width:100%}
}
