:root{
  --navy:#1b3b6f; --navy-dark:#132b52; --accent:#2e6fd8;
  --ink:#1f2733; --muted:#5b6675; --bg:#ffffff; --bg-soft:#f4f6f9; --line:#e3e8ef;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
a{color:inherit;text-decoration:none}
.container{max-width:1080px;margin:0 auto;padding:0 24px}

/* Header */
header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-size:1.45rem;font-weight:800;letter-spacing:.12em;color:var(--navy)}
.logo span{color:var(--accent)}
nav ul{display:flex;gap:28px;list-style:none;align-items:center}
nav a{font-size:.95rem;color:var(--muted);font-weight:500;padding:6px 2px;border-bottom:2px solid transparent}
nav a:hover{color:var(--navy)}
nav a.active{color:var(--navy);border-bottom-color:var(--accent)}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:11px 22px;border-radius:8px;font-weight:600;font-size:.95rem;border:none;cursor:pointer;transition:background .15s}
.btn:hover{background:var(--navy-dark)}
.btn:disabled{opacity:.6;cursor:default}
.btn-ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn-ghost:hover{background:var(--bg-soft)}
nav a.nav-cta{color:#fff;border-bottom:none}

/* Hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-dark) 70%);color:#fff;padding:96px 0 88px}
.hero .kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.8rem;color:#9db8e0;font-weight:600;margin-bottom:18px}
.hero h1{font-size:2.6rem;line-height:1.2;font-weight:800;max-width:720px;margin-bottom:20px}
.hero p{font-size:1.13rem;color:#c9d6ea;max-width:640px;margin-bottom:34px}
.hero .actions{display:flex;gap:14px}
.hero .btn{background:#fff;color:var(--navy)}
.hero .btn:hover{background:#e8edf5}
.hero .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.08)}

/* Piliers */
.pillars{padding:76px 0;background:var(--bg)}
.pillars h2,.section-title{font-size:1.7rem;font-weight:700;color:var(--navy);margin-bottom:10px}
.section-sub{color:var(--muted);margin-bottom:42px;max-width:620px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:30px 26px}
.card .icon{width:44px;height:44px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:18px}
.card h3{font-size:1.08rem;margin-bottom:10px;color:var(--ink)}
.card p{font-size:.95rem;color:var(--muted)}

/* Bande CTA */
.cta-band{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:56px 0;text-align:center}
.cta-band h2{font-size:1.5rem;color:var(--navy);margin-bottom:8px}
.cta-band p{color:var(--muted);margin-bottom:26px}

/* Pages internes */
.page-head{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:56px 0 44px}
.page-head h1{font-size:2rem;color:var(--navy);font-weight:800}
.page-head p{color:var(--muted);margin-top:8px;max-width:640px}
.content{padding:56px 0 80px}
.content .prose{max-width:720px}
.prose p{margin-bottom:18px;color:#39424e}
.prose h3{color:var(--navy);margin:28px 0 10px;font-size:1.15rem}
.prose a.inline{color:var(--accent);font-weight:600}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:.87rem;font-weight:600;color:var(--ink);margin:16px 0 6px}
label .opt{color:var(--muted);font-weight:400}
input,textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff}
input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(46,111,216,.12)}
textarea{min-height:140px;resize:vertical}
.form-note{font-size:.8rem;color:var(--muted);margin-top:12px}
.success{display:none;background:#e8f6ee;border:1px solid #b7e2c8;color:#1c6b3c;border-radius:8px;padding:14px 16px;margin-top:18px;font-size:.95rem}
.error{display:none;background:#fdecec;border:1px solid #f0b9b9;color:#8f2020;border-radius:8px;padding:14px 16px;margin-top:18px;font-size:.95rem}
.hp{display:none !important}
.aside-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:28px}
.aside-box h3{color:var(--navy);font-size:1.05rem;margin-bottom:12px}
.aside-box p{font-size:.93rem;color:var(--muted);margin-bottom:14px}
.aside-box .mail{font-weight:700;color:var(--navy);font-size:1.02rem}

/* Mentions */
.legal dl{max-width:720px}
.legal dt{font-weight:700;color:var(--navy);margin-top:22px}
.legal dd{color:#39424e;margin-top:4px}
.placeholder{background:#fff7e0;border:1px dashed #e3c25a;padding:1px 7px;border-radius:5px;color:#8a6d1a;font-size:.9em}

footer{background:var(--navy-dark);color:#9db8e0;padding:34px 0;font-size:.88rem}
footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
footer a{color:#c9d6ea}
footer a:hover{color:#fff}

@media(max-width:820px){
  .cards{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .hero h1{font-size:2rem}
  nav ul{gap:16px}
  form .row{grid-template-columns:1fr}
}

@media(max-width:700px){
  .nav{flex-wrap:wrap;height:auto;padding:12px 0;gap:6px}
  nav ul{flex-wrap:wrap;gap:14px}
  nav a.nav-cta{display:none}
  .hero{padding:64px 0 56px}
  .hero h1{font-size:1.7rem}
}
