:root{--blue:#071f57;--blue2:#0b3d91;--red:#d71920;--white:#fff;--ink:#0c1424;--muted:#667085;--soft:#f5f7fb;--gold:#d7b46a}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}img,video{max-width:100%;display:block}.container{width:min(1180px,92vw);margin:auto}.top{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,31,87,.08)}.nav{height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;font-weight:800;color:var(--blue)}.brand img{width:170px;height:auto}.links{display:flex;gap:22px;font-weight:650;color:var(--blue)}.cta{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;padding:13px 20px;border-radius:999px;box-shadow:0 12px 35px rgba(7,31,87,.20)}.hero{min-height:420px;height:48vh;max-height:520px;position:relative;display:grid;place-items:center;overflow:hidden;background:var(--blue);color:#fff;margin-top:92px;border-bottom-left-radius:34px;border-bottom-right-radius:34px}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.58;z-index:0}.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(3,10,30,.92),rgba(7,31,87,.72),rgba(3,10,30,.78));box-shadow:inset 0 -120px 160px rgba(0,0,0,.55)}.hero-content{position:relative;z-index:2;text-align:center;padding:22px 24px;border-radius:28px;background:rgba(3,10,30,.30);backdrop-filter:blur(3px);max-width:980px}.hero-logo{width:min(360px,74vw);margin:0 auto 16px;filter:drop-shadow(0 22px 42px rgba(0,0,0,.35))}.kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.82rem;font-weight:800;color:#dfe8ff}.hero h1{font-size:clamp(2.3rem,5vw,5rem);line-height:.96;margin:8px 0 10px;font-weight:950;letter-spacing:.03em;color:#fff;text-shadow:0 6px 28px rgba(0,0,0,.72),0 2px 8px rgba(0,0,0,.65)}.hero p{font-size:clamp(1rem,1.6vw,1.18rem);max-width:760px;margin:0 auto 24px;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.70),0 2px 8px rgba(0,0,0,.60)}.hero-specialties{font-size:clamp(1.05rem,2vw,1.55rem)!important;font-weight:900;color:#fff;margin:0 auto 8px!important;text-shadow:0 4px 18px rgba(0,0,0,.76),0 2px 8px rgba(0,0,0,.65)}.hero-local{font-size:clamp(.95rem,1.4vw,1.12rem)!important;font-weight:800;color:#fff;margin:0 auto 22px!important;text-shadow:0 4px 18px rgba(0,0,0,.76),0 2px 8px rgba(0,0,0,.65)}.hero-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.hero-badges span{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);font-size:.86rem;font-weight:800;color:#fff}.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.btn{padding:15px 24px;border-radius:999px;font-weight:800}.btn.primary{background:#fff;color:var(--blue)}.btn.secondary{border:1px solid rgba(255,255,255,.55);color:#fff}.section{padding:95px 0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.78rem}h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;margin:10px 0 20px;color:var(--blue)}p.lead{font-size:1.13rem;color:var(--muted);line-height:1.75}.cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fff;border:1px solid #e8edf7;border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(7,31,87,.08)}.card b{color:var(--blue);font-size:1.08rem}.card p{color:var(--muted);line-height:1.6}.flag{height:5px;border-radius:99px;background:linear-gradient(90deg,var(--blue) 0 33%,#fff 33% 66%,var(--red) 66%);border:1px solid #eee;margin-bottom:18px}.dark{background:linear-gradient(135deg,#061a48,#0b3d91);color:#fff}.dark h2,.dark .eyebrow{color:#fff}.dark p{color:#dbe6ff}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.section-intro{max-width:760px;line-height:1.7;color:#dbe6ff;margin:-8px 0 28px}.video-grid video{aspect-ratio:16/9;max-height:260px;object-fit:cover;border-radius:22px}.media-grid img,.media-grid video,.rounded{border-radius:26px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 22px 55px rgba(7,31,87,.14)}.media-grid video{background:#000}.services{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:24px;align-items:stretch}.service{background:var(--soft);border-radius:28px;padding:32px;border-left:5px solid var(--red)}.contactbox{background:#fff;border-radius:34px;padding:36px;box-shadow:0 25px 70px rgba(7,31,87,.12)}.contactbox a{color:var(--blue);font-weight:800}form{display:grid;gap:14px}input,textarea{width:100%;padding:16px 18px;border:1px solid #d9e2ef;border-radius:16px;font:inherit}button{border:0;cursor:pointer}.footer{padding:45px 0;background:#061a48;color:#dbe6ff}.footer img{width:160px}.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.in{opacity:1;transform:none}@media(max-width:860px){.links{display:none}.nav{height:78px}.brand img{width:132px}.split,.cardgrid,.services,.media-grid{grid-template-columns:1fr}.section{padding:68px 0}.hero{margin-top:78px;height:480px;max-height:none}.hero-logo{width:min(300px,80vw)}}

.page-hero{padding:170px 0 80px;background:linear-gradient(135deg,#f8fbff,#eef4ff);border-bottom:1px solid #e8edf7}.page-hero h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.98;margin:14px 0;color:var(--blue)}.quick-cards{padding:28px 0 0;background:#fff}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick-card{background:#fff;border:1px solid #e8edf7;border-radius:24px;padding:22px;min-height:132px;display:flex;flex-direction:column;gap:14px;justify-content:center;box-shadow:0 18px 44px rgba(7,31,87,.09)}.quick-card span{font-size:2rem}.quick-card b{color:var(--blue);line-height:1.25}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.specialty-card{background:linear-gradient(180deg,#fff,#f7faff);border:1px solid #e3eaf6;border-radius:34px;padding:34px;box-shadow:0 20px 55px rgba(7,31,87,.10)}.specialty-card h2{font-size:clamp(1.7rem,2.8vw,2.5rem)}.specialty-card p{color:var(--muted);line-height:1.75}.specialty-icon{font-size:2.4rem;margin-bottom:10px}.premium-list{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px}.premium-list li{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #e5ecf7;color:var(--blue);font-weight:800}.center{text-align:center;margin-top:28px}.btn.blue{display:inline-block;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}
@media(max-width:860px){.quick-grid,.specialty-grid{grid-template-columns:1fr}.page-hero{padding:130px 0 60px}.quick-cards{padding-top:18px}}

/* Correction lisibilité section Nos engagements */
.dark .card{
  background:#ffffff;
  border-radius:24px;
  box-shadow:0 20px 45px rgba(0,0,0,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.dark .card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 60px rgba(0,0,0,.14);
}
.dark .card b,
.dark .card h3{
  color:#0B2E6D;
  font-weight:800;
}
.dark .card p{
  color:#111827;
  font-size:1rem;
  line-height:1.7;
}

/* Version finale unique : bannière lisible + texte d'accueil renforcé */
.hero video{opacity:.52!important;filter:brightness(.72) contrast(1.08) saturate(1.02)}
.hero:after{background:linear-gradient(120deg,rgba(3,10,30,.94),rgba(7,31,87,.80),rgba(3,10,30,.86))!important;}
.hero-content{background:rgba(3,10,30,.42)!important;border:1px solid rgba(255,255,255,.18);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.hero h1,.hero-specialties,.hero-subline,.hero-local{color:#fff!important;text-shadow:0 6px 28px rgba(0,0,0,.85),0 2px 8px rgba(0,0,0,.75)!important}
.hero-specialties{font-size:clamp(1.25rem,2.5vw,2rem)!important;font-weight:950!important;letter-spacing:.01em;margin-bottom:8px!important}
.hero-subline{font-size:clamp(1rem,1.7vw,1.28rem)!important;font-weight:850!important;margin:0 auto 8px!important}
.hero-local{font-size:clamp(.95rem,1.4vw,1.1rem)!important;font-weight:800!important;margin-bottom:22px!important}

.hero-titane{color:#E31B23;font-weight:950;}

.service{display:flex;flex-direction:column;justify-content:flex-start;min-height:250px;transition:transform .25s ease,box-shadow .25s ease;box-shadow:0 14px 36px rgba(7,31,87,.08)}
.service:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(7,31,87,.15)}
.service h3{color:var(--blue)}
@media(max-width:860px){.services{grid-template-columns:1fr}}
