:root{--ivoire:#faf7f1;--sable:#efe9dd;--encre:#1b2540;--royal:#284080;--nuit:#002549;--orange:#f27c2d;--trait:#d9d1c0;
--serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Source Sans 3","Segoe UI",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ivoire);color:var(--encre);font:17px/1.65 var(--sans)}
img{max-width:100%;display:block}a{color:var(--royal)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0 0 .5em;color:var(--nuit)}
h1{font-size:clamp(2.3rem,5.5vw,4rem)}h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}h3{font-size:1.4rem}
p{margin:0 0 1em;max-width:62ch}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.btn{display:inline-block;background:var(--orange);color:var(--nuit);font-weight:600;text-decoration:none;padding:14px 28px;border-radius:2px;transition:background .2s}
.btn:hover{background:#ff9446}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor}
header{position:sticky;top:0;z-index:10;background:rgba(250,247,241,.96);border-bottom:1px solid var(--trait)}
header .wrap{display:flex;align-items:center;gap:28px;height:68px}
.marque{text-decoration:none;color:var(--nuit);line-height:1.1;margin-right:auto}
.marque b{font:500 1.55rem var(--serif);display:block}.marque span{font-size:.8rem;color:var(--royal)}
nav{display:flex;gap:22px}nav a{color:var(--encre);text-decoration:none;font-size:.95rem}nav a:hover{color:var(--royal)}
.logo-p{height:30px;width:auto}
.hero{position:relative;min-height:82vh;display:flex;align-items:center;color:#fff;background:var(--nuit);padding:96px 0;overflow:hidden}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,37,73,.88),rgba(0,37,73,.45))}
.hero .wrap{position:relative;z-index:1}.hero h1{color:#fff;max-width:15ch}.hero p{font-size:1.2rem;color:#e8ecf4}
.hero small{display:block;margin-top:14px;color:#c9d2e4}
.assur{background:var(--nuit);color:#fff;padding:0}
.assur ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.assur li{padding:26px 22px;border-left:1px solid rgba(255,255,255,.18);font-size:.95rem}.assur li:first-child{border:0}
.assur strong{display:block;font:500 1.2rem var(--serif)}
.cibles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px}
.cibles div{padding:4px 26px 4px 0;margin-right:26px;border-right:1px solid var(--trait)}.cibles div:last-child{border:0}
.cibles p{font-size:.97rem}
.sable{background:var(--sable)}
.obj{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 36px}
.obj button{font:inherit;background:transparent;border:1px solid var(--royal);color:var(--royal);padding:8px 18px;border-radius:30px;cursor:pointer}
.obj button[aria-pressed=true]{background:var(--royal);color:#fff}
.sol{list-style:none;padding:0;margin:0;columns:2;column-gap:56px}
.sol li{break-inside:avoid;padding:18px 0;border-top:1px solid var(--trait)}
.sol li[hidden]{display:none}.sol h3{margin-bottom:.2em}.sol p{font-size:.95rem;margin:0}.tags{font-size:.82rem;color:var(--royal)}
.note{font-size:.9rem;margin-top:26px;color:#4a5470}
.etapes{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;counter-reset:e}
.etapes li{counter-increment:e;border-top:2px solid var(--orange);padding-top:16px}
.etapes li::before{content:counter(e);font:500 2rem var(--serif);color:var(--royal);display:block}
.etapes p{font-size:.95rem}
.duo{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}
.duo img{width:100%;border-radius:2px}
blockquote{margin:0 0 20px;padding-left:24px;border-left:3px solid var(--orange);font:italic 1.45rem/1.45 var(--serif);color:var(--nuit)}
cite{display:block;font:normal .9rem var(--sans);margin-top:10px;color:#4a5470}
.eng{list-style:none;padding:0;margin:28px 0 0}.eng li{padding:12px 0;border-top:1px solid var(--trait)}
.cabinet img.lg{height:44px;width:auto;margin-bottom:22px}
.contact{background:var(--nuit);color:#fff}.contact h2{color:#fff}.contact a{color:#fff}
.contact .infos{margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;font-size:.97rem}
.contact .btn.ghost{margin-left:12px}
footer{background:#001a33;color:#b8c3d8;padding:44px 0;font-size:.85rem}footer a{color:#dbe3f2}footer p{max-width:90ch}
@media(max-width:860px){nav{display:none}.assur ul,.cibles,.etapes,.contact .infos{grid-template-columns:1fr 1fr}
.sol{columns:1}.duo{grid-template-columns:1fr;gap:32px}section{padding:60px 0}.cibles div{border:0;margin:0}
.assur li{border:0;border-top:1px solid rgba(255,255,255,.18)}.contact .btn.ghost{margin:12px 0 0}}
@media(max-width:520px){.assur ul,.cibles,.etapes,.contact .infos{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}.btn{transition:none}}
