@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;700;800;900&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --navy-deep:#071c47; --navy:#0f3589; --navy-light:#2451b8;
  --orange:#ff7300; --orange-deep:#d85800;
  --ink:#16181d; --paper:#f6f3ec; --paper-dim:#eee9dd;
  --mist:#5c6470; --line:#e3ddcc; --green-wa:#25D366;
  --radius:14px;
  --maxw:1180px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:'IBM Plex Sans',sans-serif; color:var(--ink);
  background:var(--paper); line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:'Archivo',sans-serif; margin:0 0 .5em; line-height:1.18; }
h1{ font-weight:900; } h2{ font-weight:800; } h3{ font-weight:700; }
p{ margin:0 0 1em; color:#33363d; }
a{ color:var(--navy); text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ---------- header ---------- */
.site-header{ position:sticky; top:0; z-index:50; background:rgba(246,243,236,0.94); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.site-header .wrap{ display:flex; align-items:center; justify-content:space-between; height:78px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ height:42px; }
.brand span{ font-family:'Archivo'; font-weight:900; font-size:19px; color:var(--navy); }
.brand span b{ color:var(--orange); }
.nav-links{ display:flex; align-items:center; gap:28px; }
.nav-links a{ font-weight:600; font-size:15px; color:var(--ink); }
.nav-links a:hover{ color:var(--navy); }
.lang-switch{ display:flex; gap:6px; }
.lang-switch a{ font-size:13px; font-weight:700; padding:5px 9px; border-radius:6px; color:var(--mist); }
.lang-switch a.active{ background:var(--navy); color:#fff; }
.btn{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; padding:12px 22px; border-radius:10px; }
.btn-primary{ background:var(--orange); color:#fff; }
.btn-primary:hover{ background:var(--orange-deep); }
.btn-ghost{ border:1.5px solid var(--navy); color:var(--navy); }

/* ---------- breadcrumb ---------- */
.breadcrumb{ font-size:13px; color:var(--mist); padding:16px 0 0; }
.breadcrumb a{ color:var(--mist); }
.breadcrumb a:hover{ color:var(--navy); }
.breadcrumb .sep{ margin:0 6px; opacity:.5; }

/* ---------- hero ---------- */
.hero{ position:relative; padding:56px 0 64px; overflow:hidden; background:
  radial-gradient(ellipse 700px 400px at 85% -10%, rgba(255,115,0,0.10), transparent 60%),
  linear-gradient(180deg, #fff 0%, var(--paper) 100%); }
.hero-tag{ display:inline-block; background:#fff; border:1px solid var(--line); font-size:13px; font-weight:600; color:var(--navy); padding:7px 14px; border-radius:20px; margin-bottom:18px; }
.hero h1{ font-size:44px; max-width:760px; }
.hero .lead{ font-size:19px; color:#42454c; max-width:620px; margin-top:14px; }
.hero-cta{ display:flex; gap:14px; margin-top:28px; flex-wrap:wrap; }

/* ---------- sections ---------- */
section{ padding:52px 0; }
section.alt{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.eyebrow-free-title{ font-size:30px; max-width:640px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:32px; }
.grid-2{ display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:start; }
@media (max-width:860px){ .grid-3{ grid-template-columns:1fr; } .grid-2{ grid-template-columns:1fr; } .hero h1{font-size:32px;} }

.card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.step{ display:flex; gap:16px; align-items:flex-start; margin-bottom:22px; }
.step .num{ flex:none; width:36px; height:36px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Archivo'; font-weight:800; }
.trust-row{ display:flex; gap:34px; flex-wrap:wrap; margin-top:28px; }
.trust-item{ display:flex; gap:12px; align-items:flex-start; max-width:320px; }
.trust-item svg{ flex:none; width:26px; height:26px; margin-top:2px; }

.faq details{ border-bottom:1px solid var(--line); padding:16px 0; }
.faq summary{ font-weight:700; cursor:pointer; font-family:'Archivo'; font-size:16px; }
.faq p{ margin-top:10px; }

.related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.related-grid a{ display:block; background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 18px; font-weight:600; color:var(--ink); }
.related-grid a:hover{ border-color:var(--navy); color:var(--navy); }

/* ---------- form ---------- */
.lead-form{ background:var(--navy-deep); border-radius:20px; padding:36px; color:#fff; }
.lead-form h3{ color:#fff; font-size:24px; }
.lead-form p.sub{ color:#b9c3d9; }
.lead-form label{ display:block; font-size:13px; font-weight:600; margin:14px 0 6px; color:#dfe6f5; }
.lead-form input, .lead-form textarea, .lead-form select{
  width:100%; padding:12px 14px; border-radius:8px; border:1px solid #2a4a8f; background:#0d2a63; color:#fff; font-family:'IBM Plex Sans'; font-size:15px;
}
.lead-form input::placeholder, .lead-form textarea::placeholder{ color:#7e93bf; }
.lead-form button{ margin-top:20px; width:100%; background:var(--orange); color:#fff; border:none; padding:14px; border-radius:10px; font-weight:700; font-size:16px; cursor:pointer; font-family:'IBM Plex Sans'; }
.lead-form button:hover{ background:var(--orange-deep); }
.lead-form .or{ text-align:center; color:#7e93bf; font-size:13px; margin:18px 0; }
.wa-btn{ display:flex; align-items:center; justify-content:center; gap:10px; background:var(--green-wa); color:#fff; padding:14px; border-radius:10px; font-weight:700; }
.form-note{ font-size:12px; color:#7e93bf; margin-top:12px; }
.lead-form .file-drop{ border:1.5px dashed #2a4a8f; border-radius:8px; padding:14px; text-align:center; font-size:13px; color:#9fb0c9; cursor:pointer; }
.lead-form .file-drop.has-file{ border-color:var(--orange); color:#fff; }
.lead-form input[type=file]{ display:none; }
.lead-form .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#lead-status{ margin-top:14px; font-size:14px; }

/* ---------- footer ---------- */
footer{ background:var(--navy-deep); color:#b9c3d9; padding:48px 0 28px; margin-top:40px; }
footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; }
footer a{ color:#dfe6f5; }
footer .cols{ display:flex; gap:56px; flex-wrap:wrap; }
footer h4{ color:#fff; font-size:14px; margin-bottom:10px; }
footer li{ list-style:none; margin-bottom:6px; font-size:14px; }
footer ul{ padding:0; }
.foot-bottom{ border-top:1px solid #1c3f80; margin-top:32px; padding-top:20px; font-size:13px; color:#7e93bf; }

/* --- Mobile : en-tête compact, pas de débordement horizontal --- */
html, body { overflow-x: hidden; }
@media (max-width:860px){
  .site-header .wrap{ gap:10px; }
  .nav-links{ gap:10px; }
  .nav-links > a:not(.btn){ display:none; }
  .nav-links .btn{ padding:10px 14px; font-size:13px; }
  .lang-switch a{ padding:4px 6px; font-size:11px; }
}
@media (max-width:480px){
  .brand img{ height:34px; }
  .brand span{ font-size:13px; line-height:1.1; }
  .nav-links .btn{ display:none; }
  .grid-2 .card, .grid-3 .card{ padding:22px; }
}
@media (max-width:480px){
  .breadcrumb{ padding-left:20px; padding-right:20px; }
  .lead-form .row-2{ grid-template-columns:1fr; }
}

/* Case de consentement (loi 8968) */
.lead-form .consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;font-size:13px;line-height:1.45;font-weight:400;cursor:pointer}
.lead-form .consent input{margin-top:3px;flex:0 0 auto;width:18px;height:18px}
.lead-form .consent a{text-decoration:underline}
